+CALLBACK_DEFINE_HANDLER (resize);
+CALLBACK_DEFINE_HANDLER (move);
+CALLBACK_DEFINE_HANDLER (show);
+CALLBACK_DEFINE_HANDLER (hide);
+CALLBACK_DEFINE_HANDLER (delete_request);
+CALLBACK_DEFINE_HANDLER (destroy);
+CALLBACK_DEFINE_HANDLER (focus_in);
+CALLBACK_DEFINE_HANDLER (focus_out);
+CALLBACK_DEFINE_HANDLER (mouse_in);
+CALLBACK_DEFINE_HANDLER (mouse_out);
+CALLBACK_DEFINE_HANDLER (pre_render);
+CALLBACK_DEFINE_HANDLER (post_render);
+
+/*
+ * call-seq:
+ * ee.on_resize { block } => nil
+ *
+ * Sets the handler for the resize event.
+ */
+static VALUE c_on_resize (VALUE self)
+{
+ CALLBACK_REG_HANDLER (resize);
+}
+
+/*
+ * call-seq:
+ * ee.on_move { block } => nil
+ *
+ * Sets the handler for the move event.
+ */
+static VALUE c_on_move (VALUE self)
+{
+ CALLBACK_REG_HANDLER (move);
+}
+
+/*
+ * call-seq:
+ * ee.on_show { block } => nil
+ *
+ * Sets the handler for the show event.
+ */
+static VALUE c_on_show (VALUE self)
+{
+ CALLBACK_REG_HANDLER (show);
+}
+
+/*
+ * call-seq:
+ * ee.on_hide { block } => nil
+ *
+ * Sets the handler for the hide event.
+ */
+static VALUE c_on_hide (VALUE self)
+{
+ CALLBACK_REG_HANDLER (hide);
+}
+
+/*
+ * call-seq:
+ * ee.on_delete_request { block } => nil
+ *
+ * Sets the handler for the delete request event.
+ */
+static VALUE c_on_delete_request (VALUE self)
+{
+ CALLBACK_REG_HANDLER (delete_request);
+}
+
+/*
+ * call-seq:
+ * ee.on_destroy { block } => nil
+ *
+ * Sets the handler for the destroy event.
+ */
+static VALUE c_on_destroy (VALUE self)
+{
+ CALLBACK_REG_HANDLER (destroy);
+}
+
+/*
+ * call-seq:
+ * ee.on_focus_in { block } => nil
+ *
+ * Sets the handler for the focus in event.
+ */
+static VALUE c_on_focus_in (VALUE self)
+{
+ CALLBACK_REG_HANDLER (focus_in);
+}
+
+/*
+ * call-seq:
+ * ee.on_focus_out { block } => nil
+ *
+ * Sets the handler for the focus out event.
+ */
+static VALUE c_on_focus_out (VALUE self)
+{
+ CALLBACK_REG_HANDLER (focus_out);
+}
+
+/*
+ * call-seq:
+ * ee.on_mouse_in { block } => nil
+ *
+ * Sets the handler for the mouse in event.
+ */
+static VALUE c_on_mouse_in (VALUE self)
+{
+ CALLBACK_REG_HANDLER (mouse_in);
+}
+
+/*
+ * call-seq:
+ * ee.on_mouse_out { block } => nil
+ *
+ * Sets the handler for the mouse out event.
+ */
+static VALUE c_on_mouse_out (VALUE self)
+{
+ CALLBACK_REG_HANDLER (mouse_out);
+}
+
+/*
+ * call-seq:
+ * ee.on_pre_render { block } => nil
+ *
+ * Sets the handler for the pre render event.
+ */
+static VALUE c_on_pre_render (VALUE self)
+{
+ CALLBACK_REG_HANDLER (pre_render);
+}
+
+/*
+ * call-seq:
+ * ee.on_post_render { block } => nil
+ *
+ * Sets the handler for the post render event.
+ */
+static VALUE c_on_post_render (VALUE self)
+{
+ CALLBACK_REG_HANDLER (post_render);
+}
+