* clutter/Makefile.am:
* clutter/clutter-debug.h:
* clutter/clutter-fixed.h:
* clutter/clutter-main.c:
* clutter/cogl/gles/Makefile.am:
* clutter/cogl/gles/cogl-defines.h:
* clutter/cogl/gles/cogl.c:
* clutter/egl/clutter-backend-egl.c:
* clutter/egl/clutter-backend-egl.h:
* clutter/egl/clutter-stage-egl.c:
* configure.ac:
Populate most stubs for cogl GL/ES implementation.
(against vincent - see http://svn.o-hand.com/repos/misc/ogles)
Add various fixups to EGL backend.
Code builds and runs (on 16bpp) but yet displays much (is close!)
* clutter/pango/pangoclutter-render.c:
comment out some rouge glBegin/end calls.
* clutter/Makefile.am:
* clutter/clutter-debug.h:
* clutter/clutter-fixed.h:
* clutter/clutter-main.c:
* clutter/cogl/gles/Makefile.am:
* clutter/cogl/gles/cogl-defines.h:
* clutter/cogl/gles/cogl.c:
* clutter/egl/clutter-backend-egl.c:
* clutter/egl/clutter-backend-egl.h:
* clutter/egl/clutter-stage-egl.c:
* configure.ac:
Populate most stubs for cogl GL/ES implementation.
(against vincent - see http://svn.o-hand.com/repos/misc/ogles)
Add various fixups to EGL backend.
Code builds and runs (on 16bpp) but yet displays much (is close!)
* clutter/pango/pangoclutter-render.c:
comment out some rouge glBegin/end calls.
* clutter/Makefile.am:
* clutter/clutter-actor.c:
* clutter/clutter-clone-texture.c:
* clutter/clutter-rectangle.c:
* clutter/clutter-stage.c:
* clutter/clutter-texture.c:
* clutter/cogl/cogl.h:
* clutter/cogl/gl/Makefile.am:
* clutter/cogl/gl/cogl-defines.h:
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gles/Makefile.am:
* clutter/cogl/gles/cogl-defines.h:
* clutter/cogl/gles/cogl.c:
* clutter/glx/Makefile.am:
* clutter/glx/clutter-stage-glx.c:
* clutter/pango/Makefile.am:
* clutter/pango/pangoclutter-render.c:
* configure.ac:
Add initial 'cogl' implementation. 'cogl' is a simple abstration
layer over GL and GL/ES used by clutter internally. It should
eventually allow clutter applications to be run on both GL and GL/ES
with just a recompile as well as provide more debugging and potentially
profiling information for GL and GL/ES usage.
This commit contains the initial GL implementation.
* clutter/Makefile.am:
* clutter/clutter-actor.c:
* clutter/clutter-clone-texture.c:
* clutter/clutter-rectangle.c:
* clutter/clutter-stage.c:
* clutter/clutter-texture.c:
* clutter/cogl/cogl.h:
* clutter/cogl/gl/Makefile.am:
* clutter/cogl/gl/cogl-defines.h:
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gles/Makefile.am:
* clutter/cogl/gles/cogl-defines.h:
* clutter/cogl/gles/cogl.c:
* clutter/glx/Makefile.am:
* clutter/glx/clutter-stage-glx.c:
* clutter/pango/Makefile.am:
* clutter/pango/pangoclutter-render.c:
* configure.ac:
Add initial 'cogl' implementation. 'cogl' is a simple abstration
layer over GL and GL/ES used by clutter internally. It should
eventually allow clutter applications to be run on both GL and GL/ES
with just a recompile as well as provide more debugging and potentially
profiling information for GL and GL/ES usage.
This commit contains the initial GL implementation.
Merge from clutter.git/master
* clutter/glx/clutter-event-glx.c:
* clutter/glx/clutter-stage-glx.c: Implement the _NET_WM_PING
protocol handling on the main stage window.
* clutter/clutter-stage.h:
* clutter/clutter-stage.c:
* clutter/clutter-main.c: Handle CLUTTER_DELETE events internally,
by calling clutter_main_quit(), and remove the ::delete-event
signal from ClutterStage; clean up the signal emission sequence
for the events: emit the ::event signal before emitting any signal
and the ::event-after signal after the signal has been emitted; move
the signal emission calls inside ClutterStage so we can call
g_signal_emit() instead of g_signal_emit_by_name(), thus sparing us
a lookup for each event.
* examples/test.c: Remove ::delete-event signal handling.
2007-04-24 Linus Torvalds <torvalds@woody.linux-foundation.org>
* src/prefs.[ch] (init_action_meta_prefs, meta_prefs_init,
action_change_titlebar, change_notify, update_action_titlebar,
meta_preference_to_string): Add code to configure what happens
when the titlebar is right or middle clicked as well as
double clicked.
svn path=/trunk/; revision=3214
2007-04-23 Elijah Newren <newren gmail com>
Fix some uninitialized memory usage errors. #427385
* src/frame.c (meta_window_ensure_frame):
* src/frames.c (meta_frames_manage_window):
Do not try to set the window background in
meta_frames_manage_window() since the frame window is not yet
created and not yet registered with the corresponding MetaWindow.
Do it inside meta_window_ensure_frame() instead.
svn path=/trunk/; revision=3208
Use the right marshaller signature (boolean:boxed) for the delete-event
signal handlers. Add a debug note in clutter_main_do_event() to track the
signal return. Test the delete-event handler inside test.c.
Supporting WM_PROTOCOLS allows handling the WM_DELETE_WINDOW ClientMessage,
which is then relayed to the ClutterStage actor in form of the "delete-event"
signal. Returning TRUE will block the propagation and won't close the
stage window.
Add clutter_backend_get_n_screens(), which returns the number of screens
manager by the ClutterBackend, and change clutter_backend_get_screen_number()
to return the screen number of the currently used screen; this is semantically
equivalent to clutter_glx_get_default_screen(), but leaves the door open for
a "screen" abstraction in Clutter, handled by the backend. Update the GLX
and EGL backends to retrieve and set the screen_num and n_screens members of
ClutterBackend using Xlib calls.
Add functions to retrieve some of the properties of the screen used by
the backend, like its dimensions (also physical, in millimeters); the
number of screens. Also add setters and getters for the double click
time (in milliseconds) and distance.
Add the XEMBED protocol support in the GLX backend, for embedding the
stage window into another X window. This allows cross-toolkit inclusion
and makes clutter-gtk possible.
Revert to copying GdkPixbuf areas to correctly implement the texture
tiling. This fixes segmentation faults occurring with cards with a
small texture memory area.
Call g_object_freeze_notify() (and take a reference on the actor) inside
clutter_actor_request_size() so that the notifications get unqueued at the
end of the size request.
2007-04-17 Elijah Newren <newren gmail com>
Fix some fallout from #426519; update user_rect for all position
changes prior to the window being marked as placed. Prevents
emacs in particular from flickering on start and always being
shoved to the upper-left corner.
* src/window.c (meta_window_move_resize_internal):
Record position in user_rect if the window is not yet marked as
placed too
* src/window.c (struct MetaWindow, meta_window_new_with_attrs,
meta_window_move_resize_internal):
Remove window->user_has_move_resized; it's not needed or used
anymore.
* src/window.[ch] (meta_window_get_user_position):
Remove this function as it is no longer needed or used.
svn path=/trunk/; revision=3203
Add the XEMBED protocol support in the GLX backend, for embedding the
stage window into another X window. This allows cross-toolkit inclusion
and makes clutter-gtk possible.
Revert to copying GdkPixbuf areas to correctly implement the texture
tiling. This fixes segmentation faults occurring with cards with a
small texture memory area.
Call g_object_freeze_notify() (and take a reference on the actor) inside
clutter_actor_request_size() so that the notifications get unqueued at the
end of the size request.
2007-04-16 Elijah Newren <newren gmail com>
Prevent metacity from "forgetting" which machine a window is on.
#418552
* src/window.c (meta_window_new_with_attrs): reorder the property
loading so that we know the wm_client_machine when we load the
name of the window and can modify the window name accordingly.
svn path=/trunk/; revision=3201