123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210(**************************************************************************)(* Lablgtk *)(* *)(* This program is free software; you can redistribute it *)(* and/or modify it under the terms of the GNU Library General *)(* Public License as published by the Free Software Foundation *)(* version 2, with the exception described in file COPYING which *)(* comes with the library. *)(* *)(* This program is distributed in the hope that it will be useful, *)(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)(* GNU Library General Public License for more details. *)(* *)(* You should have received a copy of the GNU Library General *)(* Public License along with this program; if not, write to the *)(* Free Software Foundation, Inc., 59 Temple Place, Suite 330, *)(* Boston, MA 02111-1307 USA *)(* *)(* *)(**************************************************************************)(* $Id$ *)openGauxopenGdkopenTagsexternalunsafe_copy:Gpointer.boxed->[<event_type]event="ml_gdk_event_copy"externalcopy:([<event_type]as'a)event->'aevent="ml_gdk_event_copy"externalget_type:'aevent->'a="ml_GdkEventAny_type"externalget_window:'aevent->window="ml_GdkEventAny_window"externalget_send_event:'aevent->bool="ml_GdkEventAny_send_event"typetimed=[`MOTION_NOTIFY|`BUTTON_PRESS|`TWO_BUTTON_PRESS|`THREE_BUTTON_PRESS|`BUTTON_RELEASE|`SCROLL|`KEY_PRESS|`KEY_RELEASE|`ENTER_NOTIFY|`LEAVE_NOTIFY|`PROPERTY_NOTIFY|`SELECTION_CLEAR|`SELECTION_REQUEST|`SELECTION_NOTIFY|`PROXIMITY_IN|`PROXIMITY_OUT|`DRAG_ENTER|`DRAG_LEAVE|`DRAG_MOTION|`DRAG_STATUS|`DROP_START|`DROP_FINISHED]externalget_time:[<timed]event->int32="ml_gdk_event_get_time"externalcreate:([<event_type]as'a)->'aevent="ml_gdk_event_new"externalset_window:'aevent->window->unit="ml_gdk_event_set_window"typeany=event_typeeventexternalunsafe_cast:[<event_type]event->[<event_type]event="%identity"letcast~(kind:([<event_type]as'a)list)(ev:any):'aevent=ifList.mem(Obj.magic(get_typeev):[>])kindthenunsafe_castevelseinvalid_arg"GdkEvent.cast"moduleExpose=structtypet=[`EXPOSE]eventletcastev:t=castev~kind:[`EXPOSE]externalarea:t->Rectangle.t="ml_GdkEventExpose_area"(*external region : t -> region = "ml_GdkEventExpose_region"*)externalcount:t->int="ml_GdkEventExpose_count"endmoduleVisibility=structtypet=[`VISIBILITY_NOTIFY]eventletcastev:t=castev~kind:[`VISIBILITY_NOTIFY]externalvisibility:t->visibility_state="ml_GdkEventVisibility_state"endmoduleMotion=structtypet=[`MOTION_NOTIFY]eventletcastev:t=castev~kind:[`MOTION_NOTIFY]lettime=get_timeexternalx:t->float="ml_GdkEventMotion_x"externaly:t->float="ml_GdkEventMotion_y"externalaxes:t->(float*float)option="ml_GdkEventMotion_axes"externalstate:t->int="ml_GdkEventMotion_state"externalis_hint:t->bool="ml_GdkEventMotion_is_hint"externaldevice:t->device="ml_GdkEventMotion_device"externalx_root:t->float="ml_GdkEventMotion_x_root"externaly_root:t->float="ml_GdkEventMotion_y_root"endmoduleButton=structtypetypes=[`BUTTON_PRESS|`TWO_BUTTON_PRESS|`THREE_BUTTON_PRESS|`BUTTON_RELEASE]typet=typeseventletcastev:t=castev~kind:[`BUTTON_PRESS;`TWO_BUTTON_PRESS;`THREE_BUTTON_PRESS;`BUTTON_RELEASE]lettime=get_timeexternalx:t->float="ml_GdkEventButton_x"externaly:t->float="ml_GdkEventButton_y"externalaxes:t->(float*float)option="ml_GdkEventButton_axes"externalstate:t->int="ml_GdkEventButton_state"externalbutton:t->int="ml_GdkEventButton_button"externaldevice:t->device="ml_GdkEventButton_device"externalx_root:t->float="ml_GdkEventButton_x_root"externaly_root:t->float="ml_GdkEventButton_y_root"externalset_type:t->[<types]->unit="ml_gdk_event_set_type"externalset_button:t->int->unit="ml_gdk_event_button_set_button"endmoduleScroll=structtypet=[`SCROLL]eventletcastev:t=castev~kind:[`SCROLL]lettime=get_timeexternalx:t->float="ml_GdkEventScroll_x"externaly:t->float="ml_GdkEventScroll_y"externalstate:t->int="ml_GdkEventScroll_state"externaldirection:t->scroll_direction="ml_GdkEventScroll_direction"externaldevice:t->device="ml_GdkEventScroll_device"externalx_root:t->float="ml_GdkEventScroll_x_root"externaly_root:t->float="ml_GdkEventScroll_y_root"externaldelta_x:t->float="ml_GdkEventScroll_delta_x"externaldelta_y:t->float="ml_GdkEventScroll_delta_y"endmoduleKey=structtypet=[`KEY_PRESS|`KEY_RELEASE]eventletcastev:t=castev~kind:[`KEY_PRESS;`KEY_RELEASE]lettime=get_timeexternalstate:t->int="ml_GdkEventKey_state"externalkeyval:t->keysym="ml_GdkEventKey_keyval"externalstring:t->string="ml_GdkEventKey_string"externalhardware_keycode:t->int="ml_GdkEventKey_hardware_keycode"externalgroup:t->int="ml_GdkEventKey_group"letstateev=Convert.modifier(stateev)endmoduleCrossing=structtypet=[`ENTER_NOTIFY|`LEAVE_NOTIFY]eventletcastev:t=castev~kind:[`ENTER_NOTIFY;`LEAVE_NOTIFY]externalsubwindow:t->window="ml_GdkEventCrossing_subwindow"lettime=get_timeexternalx:t->float="ml_GdkEventCrossing_x"externaly:t->float="ml_GdkEventCrossing_y"externalx_root:t->float="ml_GdkEventCrossing_x_root"externaly_root:t->float="ml_GdkEventCrossing_y_root"externalmode:t->crossing_mode="ml_GdkEventCrossing_mode"externaldetail:t->notify_type="ml_GdkEventCrossing_detail"externalfocus:t->bool="ml_GdkEventCrossing_focus"externalstate:t->int="ml_GdkEventCrossing_state"endmoduleFocus=structtypet=[`FOCUS_CHANGE]eventletcastev:t=castev~kind:[`FOCUS_CHANGE]externalfocus_in:t->bool="ml_GdkEventFocus_in"endmoduleConfigure=structtypet=[`CONFIGURE]eventletcastev:t=castev~kind:[`CONFIGURE]externalx:t->int="ml_GdkEventConfigure_x"externaly:t->int="ml_GdkEventConfigure_y"externalwidth:t->int="ml_GdkEventConfigure_width"externalheight:t->int="ml_GdkEventConfigure_height"endmoduleProperty=structtypet=[`PROPERTY_NOTIFY]eventletcastev:t=castev~kind:[`PROPERTY_NOTIFY]externalatom:t->atom="ml_GdkEventProperty_atom"lettime=get_timeexternalstate:t->int="ml_GdkEventProperty_state"endmoduleSelection=structtypet=[`SELECTION_CLEAR|`SELECTION_REQUEST|`SELECTION_NOTIFY]eventletcastev:t=castev~kind:[`SELECTION_CLEAR;`SELECTION_REQUEST;`SELECTION_NOTIFY]externalselection:t->atom="ml_GdkEventSelection_selection"externaltarget:t->atom="ml_GdkEventSelection_target"externalproperty:t->atom="ml_GdkEventSelection_property"externalrequestor:t->native_window="ml_GdkEventSelection_requestor"lettime=get_timeendmoduleProximity=structtypet=[`PROXIMITY_IN|`PROXIMITY_OUT]eventletcastev:t=castev~kind:[`PROXIMITY_IN;`PROXIMITY_OUT]lettime=get_timeexternaldevice:t->device="ml_GdkEventProximity_device"endmoduleSetting=structtypet=[`SETTING]eventletcastev:t=castev~kind:[`SETTING]externalaction:t->setting_action="ml_GdkEventSetting_action"externalname:t->string="ml_GdkEventSetting_name"endmoduleWindowState=structtypet=[`WINDOW_STATE]eventletcastev:t=castev~kind:[`WINDOW_STATE]externalchanged_mask:t->int="ml_GdkEventWindowState_changed_mask"externalnew_window_state:t->int="ml_GdkEventWindowState_new_window_state"letchanged_maskev=Convert.window_state(changed_maskev)letnew_window_stateev=Convert.window_state(new_window_stateev)end