コード例 #1
0
ファイル: openfontdlg.c プロジェクト: Hasimir/fontforge
static int e_h(GWindow gw, GEvent *event) {
    if ( event->type==et_close ) {
	struct gfc_data *d = GDrawGetUserData(gw);
	d->done = true;
    } else if ( event->type == et_map ) {
	/* Above palettes */
	GDrawRaise(gw);
    } else if ( event->type == et_char ) {
return( false );
    } else if ( event->type == et_mousemove ||
	    (event->type==et_mousedown && event->u.mouse.button==3 )) {
	struct gfc_data *d = GDrawGetUserData(gw);
	if ( !WithinList(d,event) )
	    GFileChooserPopupCheck(d->gfc,event);
    } else if (( event->type==et_mouseup || event->type==et_mousedown ) &&
	    (event->u.mouse.button>=4 && event->u.mouse.button<=7) ) {
	struct gfc_data *d = GDrawGetUserData(gw);
return( GGadgetDispatchEvent((GGadget *) (d->gfc),event));
    } else if ( event->type == et_resize ) {
	GRect r, size;
	struct gfc_data *d = GDrawGetUserData(gw);
	if ( d->gfc!=NULL ) {
	    GDrawGetSize(gw,&size);
	    GGadgetGetSize(d->gfc,&r);
	    GGadgetResize(d->gfc,size.width-2*r.x,r.height);
	}
    }
return( event->type!=et_char );
}
コード例 #2
0
ファイル: gfiledlg.c プロジェクト: khaledhosny/sortsmill
static int
e_h (GWindow gw, GEvent *event)
{
  if (event->type == et_close)
    {
      struct gfc_data *d = GDrawGetUserData (gw);
      d->done = true;
    }
  else if (event->type == et_map)
    /* Above palettes */
    GDrawRaise (gw);
  else if (event->type == et_char)
    return (false);
  else if (event->type == et_mousemove ||
           (event->type == et_mousedown && event->u.mouse.button == 3))
    {
      struct gfc_data *d = GDrawGetUserData (gw);
      GFileChooserPopupCheck (d->gfc, event);
    }
  else if ((event->type == et_mouseup || event->type == et_mousedown) &&
           (event->u.mouse.button >= 4 && event->u.mouse.button <= 7))
    {
      struct gfc_data *d = GDrawGetUserData (gw);
      return (GGadgetDispatchEvent ((GGadget *) (d->gfc), event));
    }
  return (true);
}