Some more tests (minor)
[gnash.git] / extensions / gtk2 / gtkext.h
blobd7dd70a81961087313fe1e6de94577777664f2c2
1 //
2 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
3 // 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
19 #ifndef __GTKEXT_PLUGIN_H__
20 #define __GTKEXT_PLUGIN_H__
22 #ifdef HAVE_CONFIG_H
23 #include "gnashconfig.h"
24 #endif
26 #include <memory> // for auto_ptr
27 #include "as_object.h"
29 #include <cstdio>
30 #include <string>
31 #include <map>
32 #include <gtk/gtk.h>
33 #include <gdk/gdkx.h>
35 namespace gnash
38 class GtkExt : public as_object {
39 public:
40 GtkExt();
41 ~GtkExt();
43 typedef void (*gtk_callback_t)(GtkWidget *widget, gpointer data);
45 // Gtk2 API
46 void window_new();
47 void signal_connect();
48 void container_set_border_width(int width);
49 GtkWidget *button_new_with_label(const char *label);
50 void signal_connect_swapped();
51 void container_add();
52 void widget_show();
53 void main();
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;
62 private:
63 GtkWidget *_window;
66 extern "C" {
67 void gtkext_class_init(as_object &obj);
68 /// Return an instance
71 std::auto_ptr<as_object> init_gtkext_instance();
73 } // end of gnash namespace
75 // __GTKEXT_PLUGIN_H__
76 #endif
78 // Local Variables:
79 // mode: C++
80 // indent-tabs-mode: t
81 // End: