Re: [Vala] How to cast Gdk.EventKey to Gdk.Event ?
- From: Peng Huang <shawn p huang gmail com>
- To: Tal Hadad <tal_hd hotmail com>, Vala Mail List <vala-list gnome org>
- Subject: Re: [Vala] How to cast Gdk.EventKey to Gdk.Event ?
- Date: Sat, 26 Nov 2011 11:42:39 -0500
It works. Thanks. But I found another problem. The vala will make a copy
of GdkEventKey everytime, when I access a field of struct GdkEventKey. I
think it is not efficient. How to avoid it? Is it a bug in vala?
I have some code like:
uint keyval = e.keyval; // e is Gdk.EventKey;
uint state = e.state;
I found it be translated to some code like:
355 gboolean result = FALSE;
356 GdkEventKey _tmp0_;
357 guint _tmp1_;
358 guint keyval;
359 GdkEventKey _tmp2_;
360 GdkModifierType _tmp3_;
361 guint state;
362 guint _tmp4_;
363 guint _tmp5_;
364 guint _tmp6_ = 0U;
365 gboolean _tmp7_ = FALSE;
366 self = (Switcher*) base;
367 g_return_val_if_fail (e != NULL, FALSE);
368 _tmp0_ = *e; // !!!!!!!!!!!! EventKey is copied
369 _tmp1_ = _tmp0_.keyval;
370 keyval = _tmp1_;
371 _tmp2_ = *e; // !!!!!!!!!!!! EventKey is copied
again
372 _tmp3_ = _tmp2_.state;
2011/11/26 Tal Hadad <tal_hd hotmail com>
Gdk.Event* real_e = (Gdk.Event*)(&e);
It's tested.
Gdk.Event* is an unowned Gdk.Event, only different is syntax:
(Gdk.Event)instance = (Gdk.Event*)->instance
Tal
Date: Fri, 25 Nov 2011 23:48:59 -0500
From: shawn p huang gmail com
To: vala-list gnome org
Subject: [Vala] How to cast Gdk.EventKey to Gdk.Event ?
How to cast Gdk.EventKey to Gdk.Event in vala?
some code like, but it does not compile.
100 public override bool key_release_event(Gdk.EventKey e) {
101 if (m_primary_modifier !=
KeybindingManager.keyval_to_modifier(e.keyval))
102 return true;
103
104 if
(KeybindingManager.primary_modifier_still_pressed((Gdk.Event)e))
105 return true;
106
107 hide();
108 return true;
109 }
Thanks,
_______________________________________________
vala-list mailing list
vala-list gnome org
http://mail.gnome.org/mailman/listinfo/vala-list
_______________________________________________
vala-list mailing list
vala-list gnome org
http://mail.gnome.org/mailman/listinfo/vala-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]