From: Kevin Ryde <user42@zip.com.au>
To: guile-gtk@sources.redhat.com
Subject: gdk-1.2.defs unimplemented stuff
Date: Tue, 05 Aug 2003 00:31:00 -0000 [thread overview]
Message-ID: <87fzkh2bdu.fsf@zip.com.au> (raw)
I added some comments to the unimplemented functions at the top of
gdk-1.2.defs.
;; void gdk_add_client_message_filter (GdkAtom mess_type, GdkFilterFunc func,
;; gpointer data);
;; This needs a GdkXEvent type and field accessors, and GdkEvent field
;; setters before it can do much useful.
;;
;; void gdk_exit(gint error_code);
;; Since currently Gtk is initialized when (gdk gdk) loads, applications
;; should call gtk-exit (which in gtk 1.2 does nothing but call gdk_exit
;; in fact). gdk-exit could be introduced if/when Gdk can be used
;; alone.
;;
;; void gdk_event_handler_set (GdkEventFunc func, gpointer data,
;; GDestroyNotify notify);
;; This is used by Gtk to implement gtk_main etc and so won't be useful
;; to normal applications, not unless/until Gdk can be used alone.
;;
;; void gdk_init(gint *argc,char ***argv);
;; This is done automatically when the gdk module is loaded, so really
;; doesn't need to be available separately. And manipulating the global
;; `program-arguments' should be enough for normal uses.
;;
;; gboolean gdk_init_check(gint *argc,char ***argv);
;; It might be nice to have this available, so an application can do
;; something if the X display is unreachable or whatever. A way to
;; catch an error from a normal (gtk gdk) module load would be another
;; possibility.
;;
;; void gdk_window_add_filter (GdkWindow *window, GdkFilterFunc function,
;; gpointer data);
;; void gdk_window_remove_filter (GdkWindow *window, GdkFilterFunc function,
;; gpointer data);
;; These need a GdkXEvent type and field accessors, and GdkEvent field
;; setters before they can do much useful.
;;
;; The aim would be to garbage collect the scheme filter function when
;; the window is destroyed, as happens for Gtk level signal handlers.
;; Unfortunately gtk 1.2 doesn't seem to offer any way to know when
;; that's happened for a window (gtk 2 does, since GdkWindow is a
;; GObject there). Maybe initially it'd be good enough to keep all
;; added filters alive until removal. This would be wanted for
;; window==NULL for a start, and applications could be asked to remove a
;; filter before the window is destroyed. (Failing to do so would
;; merely mean filter procs kept alive but never called.)
;;
;; void gdk_window_get_user_data (GdkWindow *window, gpointer *data);
;; void gdk_window_set_user_data (GdkWindow *window, gpointer data);
;; Gtk uses this user data to point to the GtkWidget owning the window,
;; ready for event dispatch, and it doesn't seem to have much error
;; checking, so anything else in the user data is likely to cause
;; problems. On that basis these functions have no use unless/until Gdk
;; can be used alone. A more scheme-like approach might be to get
;; GdkWindow objects represented uniquely (like GtkObject), so
;; applications can use object properties etc.
;;
;; GdkPropertyState gdk_event_property_state (GdkEvent *event);
;; Field accessor for property.state, as per gdk_event_visibility_state.
reply other threads:[~2003-08-05 0:31 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fzkh2bdu.fsf@zip.com.au \
--to=user42@zip.com.au \
--cc=guile-gtk@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).