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();
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:
gnash::gtkext_signal_connect_swapped
as_value gtkext_signal_connect_swapped(const fn_call &fn)
Definition: gtkext.cpp:281
gnash::GtkExt::GtkExt
GtkExt()
Definition: gtkext.cpp:151
name
std::string name
Definition: LocalConnection_as.cpp:149
gnash::gtkext_class_init
void gtkext_class_init(as_object &obj)
Definition: gtkext.cpp:346
gnash::as_object
The base class for all ActionScript objects.
Definition: as_object.h:162
as_object.h
dbglogfile
#define dbglogfile
Definition: gtkext.cpp:48
gnash::GtkExt::container_set_border_width
void container_set_border_width(int width)
Definition: gtkext.cpp:182
gnash::GtkExt::window_new
void window_new()
Definition: gtkext.cpp:165
gnash::GtkExt
Definition: gtkext.h:38
gnash::gtkext_main
as_value gtkext_main(const fn_call &fn)
Definition: gtkext.cpp:329
gnash::as_object::init_member
void init_member(const std::string &name, const as_value &val, int flags=DefaultFlags)
Initialize a member value by string.
Definition: as_object.cpp:669
gnash
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
gnash::gtkext_button_new_with_label
as_value gtkext_button_new_with_label(const fn_call &fn)
Definition: gtkext.cpp:257
GNASH_REPORT_FUNCTION
#define GNASH_REPORT_FUNCTION
Definition: log.h:452
gnash::GtkExt::button_new_with_label
GtkWidget * button_new_with_label(const char *label)
Definition: gtkext.cpp:192
gnash::getGlobal
Global_as & getGlobal(const as_environment &env)
Definition: as_environment.cpp:651
gnash::gtkext_widget_show
as_value gtkext_widget_show(const fn_call &fn)
Definition: gtkext.cpp:316
gnash::getVM
VM & getVM(const as_environment &env)
Definition: as_environment.h:222
as_function.h
gnash::fn_call
Parameters/environment for builtin or user-defined functions callable from ActionScript.
Definition: fn_call.h:118
gnash::GtkExt::widget_show
void widget_show()
gnash::Global_as::createClass
as_object * createClass(Global_as::ASFunction ctor, as_object *prototype)
Create an ActionScript class.
Definition: Global_as.cpp:180
gnash::GtkExt::setWindow
void setWindow(GtkWidget *x)
Definition: gtkext.h:57
gnash::as_value::to_string
DSOTEXPORT std::string to_string(int version=7) const
Get a std::string representation for this value.
Definition: as_value.cpp:205
gnash::gtkext_container_add
as_value gtkext_container_add(const fn_call &fn)
Definition: gtkext.cpp:302
gnash::get
T * get(as_object *o)
Extract the DisplayObject attached to an object.
Definition: as_object.h:842
main
int main(int argc, char *argv[])
Definition: gnash.cpp:96
gnash::GtkExt::container_add
void container_add()
gtkext.h
gnash::GtkExt::signal_connect
void signal_connect()
gnash::GtkExt::~GtkExt
~GtkExt()
Definition: gtkext.cpp:159
gnash::fn_call::nargs
Args::size_type nargs
Number of arguments to this ActionScript function call.
Definition: fn_call.h:178
gnash::dump_callbacks
void dump_callbacks(map< string, as_value > &calls)
Definition: gtkext.cpp:65
gnash::as_value
ActionScript value type.
Definition: as_value.h:95
gnash::GtkExt::main
void main()
Definition: gtkext.cpp:200
VM.h
gnash::fn_call::arg
const Args::value_type & arg(unsigned int n) const
Access a particular argument.
Definition: fn_call.h:194
log.h
fn_call.h
gnash::GtkExt::signal_connect_swapped
void signal_connect_swapped()
gnashconfig.h
gnash::GtkExt::getWindow
GtkWidget * getWindow()
Definition: gtkext.h:56
gnash::Global_as
The Global object ultimately contains all objects in an ActionScript run.
Definition: Global_as.h:50
gnash::gtkext_signal_connect
as_value gtkext_signal_connect(const fn_call &fn)
Definition: gtkext.cpp:218
gnash::gtkext_container_set_border_width
as_value gtkext_container_set_border_width(const fn_call &fn)
Definition: gtkext.cpp:240
gnash::fn_call::this_ptr
as_object * this_ptr
Definition: fn_call.h:170
gnash::key::o
@ o
Definition: GnashKey.h:161
width
@ width
Definition: klash_part.cpp:329
gnash::gtkext_window_new
as_value gtkext_window_new(const fn_call &fn)
Definition: gtkext.cpp:206
x
std::int32_t x
Definition: BitmapData_as.cpp:434
gnash::GtkExt::gtk_callback_t
void(* gtk_callback_t)(GtkWidget *widget, gpointer data)
Definition: gtkext.h:43
data
SimpleBuffer data
Definition: LocalConnection_as.cpp:151
gnash::init_gtkext_instance
std::unique_ptr< as_object > init_gtkext_instance()
Return an instance.
Definition: gtkext.cpp:339