2007-07-09 Matthew Allum <mallum@openedhand.com>

* TODO:
        Updates.
        * clutter/clutter-stage.c:
        * clutter/glx/clutter-stage-glx.c:
        Fix cursor visibility property.
        Force a repaint before mapping to attempt to avoid flicker.
This commit is contained in:
Matthew Allum 2007-07-09 22:59:52 +00:00
parent eeef27ca66
commit 071719ffa4
4 changed files with 30 additions and 6 deletions

View File

@ -1,3 +1,12 @@
2007-07-09 Matthew Allum <mallum@openedhand.com>
* TODO:
Updates.
* clutter/clutter-stage.c:
* clutter/glx/clutter-stage-glx.c:
Fix cursor visibility property.
Force a repaint before mapping to attempt to avoid flicker.
2007-07-09 Richard Purdie <rpurdie@openedhand.com> 2007-07-09 Richard Purdie <rpurdie@openedhand.com>
* clutter/eglnative/clutter-event-egl.c: * clutter/eglnative/clutter-event-egl.c:

9
TODO
View File

@ -33,16 +33,23 @@ Maybe:
Definetly: Definetly:
- More ClutterUnits support, convert actor API to units. - More ClutterUnits support, convert actor API to units.
- Device independant units
- Fragment shader support infrastructure - Fragment shader support infrastructure
- XML/JSON type 'layout' files - include actors + behaviours + timeline etc. - XML/JSON type 'layout' files - include actors + behaviours + timeline etc.
- App developers manual. - App developers manual.
- Events for Actors
- Add 'sensitive' property, false by default. Only pick sensitive actors
- Very simple focus model - actors have a focus flag and if set emit
key events.
- Motion events need to be explicitly enabled.
Nice/Maybe: Nice/Maybe:
===========
- Gradient support ? - Gradient support ?
- Rectangle like props to all actors - Rectangle like props to all actors
- Glitz integration - Glitz integration
- Some kind of focus model. - Some kind of focus model.
- Apple/Win native backends. - Apple/Win native backends.
- ClutterBehaviourDepth (trivial)
- ClutterTextureAnimation (trivial)
- Glitz backend over GLX (would cover above) - Glitz backend over GLX (would cover above)

View File

@ -243,7 +243,7 @@ clutter_stage_class_init (ClutterStageClass *klass)
g_param_spec_boolean ("cursor-visible", g_param_spec_boolean ("cursor-visible",
"Cursor Visible", "Cursor Visible",
"Whether the mouse pointer is visible on the main stage ", "Whether the mouse pointer is visible on the main stage ",
FALSE, TRUE,
G_PARAM_CONSTRUCT | CLUTTER_PARAM_READWRITE)); G_PARAM_CONSTRUCT | CLUTTER_PARAM_READWRITE));
g_object_class_install_property g_object_class_install_property
@ -423,7 +423,7 @@ clutter_stage_init (ClutterStage *self)
priv->is_offscreen = FALSE; priv->is_offscreen = FALSE;
priv->is_fullscreen = FALSE; priv->is_fullscreen = FALSE;
priv->is_cursor_visible = FALSE; priv->is_cursor_visible = TRUE;
priv->color.red = 0xff; priv->color.red = 0xff;
priv->color.green = 0xff; priv->color.green = 0xff;

View File

@ -56,7 +56,14 @@ clutter_stage_glx_show (ClutterActor *actor)
ClutterStageGLX *stage_glx = CLUTTER_STAGE_GLX (actor); ClutterStageGLX *stage_glx = CLUTTER_STAGE_GLX (actor);
if (stage_glx->xwin) if (stage_glx->xwin)
{
/* Fire off a redraw to avoid flicker on first map.
* Appears not to work perfectly on intel drivers at least.
*/
clutter_redraw();
XSync (stage_glx->xdpy, FALSE);
XMapWindow (stage_glx->xdpy, stage_glx->xwin); XMapWindow (stage_glx->xdpy, stage_glx->xwin);
}
} }
static void static void
@ -112,6 +119,7 @@ clutter_stage_glx_unrealize (ClutterActor *actor)
stage_glx->gl_context = None; stage_glx->gl_context = None;
} }
XSync (stage_glx->xdpy, False); XSync (stage_glx->xdpy, False);
clutter_glx_untrap_x_errors (); clutter_glx_untrap_x_errors ();
} }
@ -413,7 +421,7 @@ clutter_stage_glx_set_cursor_visible (ClutterStage *stage,
if (stage_glx->xwin == None) if (stage_glx->xwin == None)
return; return;
CLUTTER_NOTE (MISC, "setting cursor state ('%s') over stage window (%u)", CLUTTER_NOTE (BACKEND, "setting cursor state ('%s') over stage window (%u)",
show_cursor ? "visible" : "invisible", show_cursor ? "visible" : "invisible",
(unsigned int) stage_glx->xwin); (unsigned int) stage_glx->xwin);