Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_x
Modified Files:
Ecore_X.h Makefile.am ecore_x.c ecore_x_icccm.c
Log Message:
ok fix some things with SSL and ecore_evas. you ALWYAs have at least the api
to do ssl and al fo ecorE_evas stuff
BUt ecore_* may not be BUILT with that support
so the api stub exists
but it may just return NULL. theres calls to query for support here.
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -3 -r1.65 -r1.66
--- Ecore_X.h 19 Oct 2004 16:50:01 -0000 1.65
+++ Ecore_X.h 22 Oct 2004 03:41:49 -0000 1.66
@@ -867,12 +867,25 @@
int ecore_x_client_message32_send(Ecore_X_Window win, Ecore_X_Atom type,
long d0, long d1, long d2, long d3, long d4);
int ecore_x_client_message8_send(Ecore_X_Window win, Ecore_X_Atom type,
const void *data, int len);
-void ecore_x_icccm_window_state_set_iconic(Ecore_X_Window win);
-void ecore_x_icccm_window_state_set_normal(Ecore_X_Window win);
-void ecore_x_icccm_window_state_set_withdrawn(Ecore_X_Window win);
-void ecore_x_icccm_send_delete_window(Ecore_X_Window win);
-void ecore_x_icccm_send_take_focus(Ecore_X_Window win);
-
+ void
+ ecore_x_icccm_state_set(Ecore_X_Window win, Ecore_X_Window_State_Hint state);
+ void
+ ecore_x_icccm_delete_window_send(Ecore_X_Window win);
+ void
+ ecore_x_icccm_take_focus_send(Ecore_X_Window win);
+ void
+ ecore_x_icccm_save_yourself_send(Ecore_X_Window win);
+ void
+ ecore_x_icccm_move_resize_send(Ecore_X_Window win,
+ int x, int y, int w, int h);
+ int
+ ecore_x_icccm_basic_hints_get(Ecore_X_Window win,
+ int *accepts_focus,
+ Ecore_X_Window_State_Hint *initial_state,
+ Ecore_X_Pixmap *icon_pixmap,
+ Ecore_X_Pixmap *icon_mask,
+ Ecore_X_Window *icon_window,
+ Ecore_X_Window *window_group);
/* FIXME: these funcs need categorising */
@@ -922,16 +935,6 @@
ecore_x_window_save_set_del(Ecore_X_Window win);
Ecore_X_Window *
ecore_x_window_children_get(Ecore_X_Window win, int *num);
- void
- ecore_x_window_synthetic_move_resize_send(Ecore_X_Window win, int x, int y, int
w, int h);
- void
- ecore_x_window_basic_hints_get(Ecore_X_Window win,
- int *accepts_focus,
- Ecore_X_Window_State_Hint *initial_state,
- Ecore_X_Pixmap *icon_pixmap,
- Ecore_X_Pixmap *icon_mask,
- Ecore_X_Window *icon_window,
- Ecore_X_Window *window_group);
Ecore_X_Cursor
ecore_x_cursor_new(Ecore_X_Window win, int *pixels, int w, int h, int hot_x, int
hot_y);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Makefile.am,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- Makefile.am 21 Oct 2004 03:16:32 -0000 1.11
+++ Makefile.am 22 Oct 2004 03:41:49 -0000 1.12
@@ -9,7 +9,7 @@
-I$(top_builddir)/src/lib/ecore_job \
@x_cflags@
-libecore_x_la_LDFLAGS = -version-info 1:0:0 \
+libecore_x_la_LDFLAGS = $(LDFLAGS) -version-info 1:0:0 \
-L$(top_builddir)/src/lib/ecore/.libs \
-L$(top_builddir)/src/lib/ecore_txt/.libs \
-L$(top_builddir)/src/lib/ecore_job/.libs
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x.c,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -3 -r1.44 -r1.45
--- ecore_x.c 19 Oct 2004 06:34:21 -0000 1.44
+++ ecore_x.c 22 Oct 2004 03:41:49 -0000 1.45
@@ -1060,75 +1060,6 @@
return windows;
}
-void
-ecore_x_window_synthetic_move_resize_send(Ecore_X_Window win, int x, int y, int w,
int h)
-{
- XEvent ev;
-
- ev.type = ConfigureNotify;
- ev.xconfigure.display = _ecore_x_disp;
- ev.xconfigure.event = win;
- ev.xconfigure.window = win;
- ev.xconfigure.x = x;
- ev.xconfigure.y = y;
- ev.xconfigure.width = w;
- ev.xconfigure.height = h;
- ev.xconfigure.border_width = 0;
- ev.xconfigure.above = win;
- ev.xconfigure.override_redirect = False;
- XSendEvent(_ecore_x_disp, win, False, StructureNotifyMask, &ev);
-}
-
-void
-ecore_x_window_basic_hints_get(Ecore_X_Window win,
- int *accepts_focus,
- Ecore_X_Window_State_Hint *initial_state,
- Ecore_X_Pixmap *icon_pixmap,
- Ecore_X_Pixmap *icon_mask,
- Ecore_X_Window *icon_window,
- Ecore_X_Window *window_group)
-{
- XWMHints *hints;
-
- hints = XGetWMHints(_ecore_x_disp, win);
- if (hints)
- {
- if ((hints->flags & InputHint) && (accepts_focus))
- {
- if (hints->input)
- *accepts_focus = 1;
- else
- *accepts_focus = 0;
- }
- if ((hints->flags & StateHint) && (initial_state))
- {
- if (hints->initial_state == WithdrawnState)
- *initial_state = ECORE_X_WINDOW_STATE_HINT_WITHDRAWN;
- else if (hints->initial_state == NormalState)
- *initial_state = ECORE_X_WINDOW_STATE_HINT_NORMAL;
- else if (hints->initial_state == IconicState)
- *initial_state = ECORE_X_WINDOW_STATE_HINT_ICONIC;
- }
- if ((hints->flags & IconPixmapHint) && (icon_pixmap))
- {
- *icon_pixmap = hints->icon_pixmap;
- }
- if ((hints->flags & IconMaskHint) && (icon_mask))
- {
- *icon_mask = hints->icon_pixmap;
- }
- if ((hints->flags & IconWindowHint) && (icon_window))
- {
- *icon_window = hints->icon_window;
- }
- if ((hints->flags & WindowGroupHint) && (window_group))
- {
- *window_group = hints->window_group;
- }
- XFree(hints);
- }
-}
-
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_icccm.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- ecore_x_icccm.c 21 Sep 2004 19:18:45 -0000 1.1
+++ ecore_x_icccm.c 22 Oct 2004 03:41:49 -0000 1.2
@@ -6,12 +6,17 @@
#include "ecore_x_private.h"
#include "Ecore_X.h"
-static void
-_ecore_x_icccm_window_state_set(Ecore_X_Window win, unsigned int state)
+void
+ecore_x_icccm_state_set(Ecore_X_Window win, Ecore_X_Window_State_Hint state)
{
unsigned long c[2];
- c[0] = state;
+ if (state == ECORE_X_WINDOW_STATE_HINT_WITHDRAWN)
+ c[0] = WithdrawnState;
+ else if (state == ECORE_X_WINDOW_STATE_HINT_NORMAL)
+ c[0] = NormalState;
+ else if (state == ECORE_X_WINDOW_STATE_HINT_ICONIC)
+ c[0] = IconicState;
c[1] = 0;
XChangeProperty(_ecore_x_disp, win, _ecore_x_atom_wm_state,
_ecore_x_atom_wm_state, 32, PropModeReplace,
@@ -19,50 +24,187 @@
}
void
-ecore_x_icccm_window_state_set_iconic(Ecore_X_Window win)
-{
- _ecore_x_icccm_window_state_set(win, IconicState);
-}
-
-void
-ecore_x_icccm_window_state_set_normal(Ecore_X_Window win)
+ecore_x_icccm_delete_window_send(Ecore_X_Window win)
{
- _ecore_x_icccm_window_state_set(win, NormalState);
+ ecore_x_client_message32_send(win, _ecore_x_atom_wm_protocols,
+ _ecore_x_atom_wm_delete_window,
+ CurrentTime, 0, 0, 0);
}
void
-ecore_x_icccm_window_state_set_withdrawn(Ecore_X_Window win)
+ecore_x_icccm_take_focus_send(Ecore_X_Window win)
{
- _ecore_x_icccm_window_state_set(win, WithdrawnState);
-}
-
-static void
-_ecore_x_icccm_client_message_send(Ecore_X_Window win,
- Ecore_X_Atom atom, Ecore_X_Time ts)
-{
- ecore_x_client_message32_send(win, _ecore_x_atom_wm_protocols, atom, ts,
- 0, 0, 0);
-}
-
-void
-ecore_x_icccm_send_delete_window(Ecore_X_Window win)
-{
- _ecore_x_icccm_client_message_send(win, _ecore_x_atom_wm_delete_window,
- CurrentTime);
+ ecore_x_client_message32_send(win, _ecore_x_atom_wm_protocols,
+ _ecore_x_atom_wm_take_focus,
+ CurrentTime, 0, 0, 0);
}
+#if 0
void
-ecore_x_icccm_send_take_focus(Ecore_X_Window win)
+ecore_x_icccm_save_yourself_send(Ecore_X_Window win)
{
- _ecore_x_icccm_client_message_send(win, _ecore_x_atom_wm_take_focus,
- CurrentTime);
+ ecore_x_client_message32_send(win, _ecore_x_atom_wm_protocols,
+ _ecore_x_atom_wm_save_yourself,
+ CurrentTime, 0, 0, 0);
}
+#endif
-#if 0
void
-ecore_x_icccm_send_save_yourself(Ecore_X_Window win)
+ecore_x_icccm_move_resize_send(Ecore_X_Window win,
+ int x, int y, int w, int h)
{
- _ecore_x_icccm_client_message_send(win, _ecore_x_atom_wm_save_yourself,
- CurrentTime);
-}
-#endif
+ XEvent ev;
+
+ ev.type = ConfigureNotify;
+ ev.xconfigure.display = _ecore_x_disp;
+ ev.xconfigure.event = win;
+ ev.xconfigure.window = win;
+ ev.xconfigure.x = x;
+ ev.xconfigure.y = y;
+ ev.xconfigure.width = w;
+ ev.xconfigure.height = h;
+ ev.xconfigure.border_width = 0;
+ ev.xconfigure.above = win;
+ ev.xconfigure.override_redirect = False;
+ XSendEvent(_ecore_x_disp, win, False, StructureNotifyMask, &ev);
+}
+
+int
+ecore_x_icccm_basic_hints_get(Ecore_X_Window win,
+ int *accepts_focus,
+ Ecore_X_Window_State_Hint *initial_state,
+ Ecore_X_Pixmap *icon_pixmap,
+ Ecore_X_Pixmap *icon_mask,
+ Ecore_X_Window *icon_window,
+ Ecore_X_Window *window_group)
+{
+ XWMHints *hints;
+
+ hints = XGetWMHints(_ecore_x_disp, win);
+ if (hints)
+ {
+ if ((hints->flags & InputHint) && (accepts_focus))
+ {
+ if (hints->input)
+ *accepts_focus = 1;
+ else
+ *accepts_focus = 0;
+ }
+ if ((hints->flags & StateHint) && (initial_state))
+ {
+ if (hints->initial_state == WithdrawnState)
+ *initial_state = ECORE_X_WINDOW_STATE_HINT_WITHDRAWN;
+ else if (hints->initial_state == NormalState)
+ *initial_state = ECORE_X_WINDOW_STATE_HINT_NORMAL;
+ else if (hints->initial_state == IconicState)
+ *initial_state = ECORE_X_WINDOW_STATE_HINT_ICONIC;
+ }
+ if ((hints->flags & IconPixmapHint) && (icon_pixmap))
+ {
+ *icon_pixmap = hints->icon_pixmap;
+ }
+ if ((hints->flags & IconMaskHint) && (icon_mask))
+ {
+ *icon_mask = hints->icon_pixmap;
+ }
+ if ((hints->flags & IconWindowHint) && (icon_window))
+ {
+ *icon_window = hints->icon_window;
+ }
+ if ((hints->flags & WindowGroupHint) && (window_group))
+ {
+ *window_group = hints->window_group;
+ }
+ XFree(hints);
+ return 1;
+ }
+ return 0;
+}
+
+/* FIXME: working here */
+int
+ecore_x_icccm_size_pos_hints_get(Ecore_X_Window win)
+{
+ XSizeHints hint;
+ long mask;
+
+ if (!XGetWMNormalHints(_ecore_x_disp, win, &hint, &mask)) return 0;
+ if ((hint.flags & USPosition) || ((hint.flags & PPosition)))
+ {
+ int x, y, w, h;
+
+// D("%li %li\n", hint.flags & USPosition, hint.flags & PPosition);
+// b->client.pos.requested = 1;
+// b->client.pos.gravity = NorthWestGravity;
+// if (hint.flags & PWinGravity)
+// b->client.pos.gravity = hint.win_gravity;
+// x = y = w = h = 0;
+// ecore_window_get_geometry(win, &x, &y, &w, &h);
+// b->client.pos.x = x;
+// b->client.pos.y = y;
+ }
+ else
+ {
+// b->client.pos.requested = 0;
+ }
+ if (hint.flags & PMinSize)
+ {
+// min_w = hint.min_width;
+// min_h = hint.min_height;
+ }
+ if (hint.flags & PMaxSize)
+ {
+// max_w = hint.max_width;
+// max_h = hint.max_height;
+// if (max_w < min_w)
+// max_w = min_w;
+// if (max_h < min_h)
+// max_h = min_h;
+ }
+ if (hint.flags & PResizeInc)
+ {
+// step_w = hint.width_inc;
+// step_h = hint.height_inc;
+// if (step_w < 1)
+// step_w = 1;
+// if (step_h < 1)
+// step_h = 1;
+ }
+ if (hint.flags & PBaseSize)
+ {
+// base_w = hint.base_width;
+// base_h = hint.base_height;
+// if (base_w > max_w)
+// max_w = base_w;
+// if (base_h > max_h)
+// max_h = base_h;
+ }
+ else
+ {
+// base_w = min_w;
+// base_h = min_h;
+ }
+ if (hint.flags & PAspect)
+ {
+// if (hint.min_aspect.y > 0)
+// aspect_min =
+// ((double)hint.min_aspect.x) / ((double)hint.min_aspect.y);
+// if (hint.max_aspect.y > 0)
+// aspect_max =
+// ((double)hint.max_aspect.x) / ((double)hint.max_aspect.y);
+ }
+
+ return 1;
+}
+
+/* FIXME: move these things in here as they are icccm related */
+/* get/set title */
+/* get/set name/class */
+/* get/set machine */
+/* get/set command */
+/* get/set icon name */
+
+/* FIXME: there are older E hints, gnome hitns and mwm hints and new netwm */
+/* hints. each should go in their own file/section so we know which */
+/* is which. also older kde hints too. we shoudl try support as much */
+/* as makese sense to support */
-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs