+static VALUE c_on_mouse_wheel (VALUE self)
+{
+ CALLBACK_HANDLER_METHOD (mouse_wheel, MOUSE_WHEEL);
+}
+
+static VALUE c_on_key_down (VALUE self)
+{
+ CALLBACK_HANDLER_METHOD (key_down, KEY_DOWN);
+}
+
+static VALUE c_on_key_up (VALUE self)
+{
+ CALLBACK_HANDLER_METHOD (key_up, KEY_UP);
+}
+
+static VALUE c_on_focus_in (VALUE self)
+{
+ CALLBACK_HANDLER_METHOD (focus_in, FOCUS_IN);
+}
+
+static VALUE c_on_focus_out (VALUE self)
+{
+ CALLBACK_HANDLER_METHOD (focus_out, FOCUS_OUT);
+}
+
+static VALUE c_on_show (VALUE self)
+{
+ CALLBACK_HANDLER_METHOD (show, SHOW);
+}
+
+static VALUE c_on_hide (VALUE self)
+{
+ CALLBACK_HANDLER_METHOD (hide, HIDE);
+}
+
+static VALUE c_on_move (VALUE self)
+{
+ CALLBACK_HANDLER_METHOD (move, MOVE);
+}
+
+static VALUE c_on_resize (VALUE self)
+{
+ CALLBACK_HANDLER_METHOD (resize, RESIZE);
+}
+
+static VALUE c_on_restack (VALUE self)
+{
+ CALLBACK_HANDLER_METHOD (restack, RESTACK);
+}
+
+static VALUE c_ev_init (VALUE argc, VALUE argv, VALUE self)
+{
+ return self;
+}
+
+static VALUE c_pos_init (VALUE self, VALUE output_x, VALUE output_y,
+ VALUE canvas_x, VALUE canvas_y)
+{
+ rb_iv_set (self, "@output_x", output_x);
+ rb_iv_set (self, "@output_y", output_y);
+ rb_iv_set (self, "@canvas_x", canvas_x);
+ rb_iv_set (self, "@canvas_y", canvas_y);
+
+ return self;
+}
+