Gnash  0.8.11dev
gtkext.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
3 // Free Software Foundation, Inc
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 
19 #ifndef __GTKEXT_PLUGIN_H__
20 #define __GTKEXT_PLUGIN_H__
21 
22 #ifdef HAVE_CONFIG_H
23 #include "gnashconfig.h"
24 #endif
25 
26 #include <memory> // for unique_ptr
27 #include "as_object.h"
28 
29 #include <cstdio>
30 #include <string>
31 #include <map>
32 #include <gtk/gtk.h>
33 #include <gdk/gdkx.h>
34 
35 namespace gnash
36 {
37 
38 class GtkExt : public as_object {
39 public:
40  GtkExt();
41  ~GtkExt();
42 
43  typedef void (*gtk_callback_t)(GtkWidget *widget, gpointer data);
44 
45  // Gtk2 API
46  void window_new();
47  void signal_connect();
49  GtkWidget *button_new_with_label(const char *label);
51  void container_add();
52  void widget_show();
53  void main();
54 
55  // internal methods
56  GtkWidget *getWindow() { return _window; };
57  void setWindow(GtkWidget *x) { _window = x; };
58 // void addCallback(std::string &event, as_value *func) { _callbacks[event] = func; };
59 // as_value *getCallback(std::string &event) { return _callbacks[event]; };
60 // std::map<std::string, as_value *> _callbacks;
61 
62 private:
63  GtkWidget *_window;
64 };
65 
66 extern "C" {
67  void gtkext_class_init(as_object &obj);
69 }
70 
71 std::unique_ptr<as_object> init_gtkext_instance();
72 
73 } // end of gnash namespace
74 
75 // __GTKEXT_PLUGIN_H__
76 #endif
77 
78 // Local Variables:
79 // mode: C++
80 // indent-tabs-mode: t
81 // End:
void(* gtk_callback_t)(GtkWidget *widget, gpointer data)
Definition: gtkext.h:43
void setWindow(GtkWidget *x)
Definition: gtkext.h:57
void container_add()
SimpleBuffer data
Definition: LocalConnection_as.cpp:151
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:40
GtkWidget * button_new_with_label(const char *label)
Definition: gtkext.cpp:192
void signal_connect_swapped()
Definition: gtkext.h:38
Definition: klash_part.cpp:329
The base class for all ActionScript objects.
Definition: as_object.h:161
void gtkext_class_init(as_object &obj)
Definition: gtkext.cpp:346
GtkExt()
Definition: gtkext.cpp:151
GtkWidget * getWindow()
Definition: gtkext.h:56
std::int32_t x
Definition: BitmapData_as.cpp:434
~GtkExt()
Definition: gtkext.cpp:159
std::unique_ptr< as_object > init_gtkext_instance()
Return an instance.
Definition: gtkext.cpp:339
void signal_connect()
void main()
Definition: gtkext.cpp:200
void window_new()
Definition: gtkext.cpp:165
void container_set_border_width(int width)
Definition: gtkext.cpp:182
void widget_show()