mirror of
https://github.com/brl/mutter.git
synced 2024-11-12 17:27:03 -05:00
2007-01-16 Matthew Allum <mallum@openedhand.com>
* NEWS: Minor tweaks * TODO: Sync up, mainly with 0.3 todo items * clutter/clutter-behaviour.c: * clutter/clutter-behaviour.h: clutter_behaviour_get_n_actors() / clutter_behaviour_get_nth_actor() Additions. * clutter/clutter-stage.c: (clutter_stage_realize): Experimental (disabled) visual setting code. * clutter/clutter-feature.c: Check for GL_EXT_texture_rectangle (#198 - Frederick Riss) * clutter/clutter-group.c: (clutter_group_allocate_coords): Fix for group size allocation (#199 - Frederick Riss) * clutter/clutter-texture.c: (texture_upload_data): Fix texture unpacking row length (#197 Frederick Riss) * examples/Makefile.am: Fix LDADD in build (#196 - Frederick Riss)
This commit is contained in:
parent
3b7a8c0c5c
commit
c0aa013758
28
ChangeLog
28
ChangeLog
@ -1,3 +1,31 @@
|
||||
2007-01-16 Matthew Allum <mallum@openedhand.com>
|
||||
|
||||
* NEWS:
|
||||
Minor tweaks
|
||||
|
||||
* TODO:
|
||||
Sync up, mainly with 0.3 todo items
|
||||
|
||||
* clutter/clutter-behaviour.c:
|
||||
* clutter/clutter-behaviour.h:
|
||||
clutter_behaviour_get_n_actors() / clutter_behaviour_get_nth_actor()
|
||||
Additions.
|
||||
|
||||
* clutter/clutter-stage.c: (clutter_stage_realize):
|
||||
Experimental (disabled) visual setting code.
|
||||
|
||||
* clutter/clutter-feature.c:
|
||||
Check for GL_EXT_texture_rectangle (#198 - Frederick Riss)
|
||||
|
||||
* clutter/clutter-group.c: (clutter_group_allocate_coords):
|
||||
Fix for group size allocation (#199 - Frederick Riss)
|
||||
|
||||
* clutter/clutter-texture.c: (texture_upload_data):
|
||||
Fix texture unpacking row length (#197 Frederick Riss)
|
||||
|
||||
* examples/Makefile.am:
|
||||
Fix LDADD in build (#196 - Frederick Riss)
|
||||
|
||||
2007-01-16 Tomas Frydrych <tf@openedhand.com>
|
||||
|
||||
* clutter/clutter-fixed.h:
|
||||
|
2
NEWS
2
NEWS
@ -10,7 +10,7 @@ Clutter 0.2 ()
|
||||
be destroyed.
|
||||
o Add basic run-time detection of GL features.
|
||||
+ Use GL_TEXTURE_RECTANGLE_ARB if available.
|
||||
+ Attempt to set up sync to vblank
|
||||
+ Attempt to set up sync to vblank (set CLUTTER_VBLANK=none to disable)
|
||||
o Add API for behaviours. A ClutterBehaviour is an object which
|
||||
drives a set of actors using one or more properties depending
|
||||
on the value of an "alpha" function.
|
||||
|
30
TODO
30
TODO
@ -1,37 +1,29 @@
|
||||
TODO
|
||||
====
|
||||
|
||||
Posiible New Features
|
||||
New Features
|
||||
==
|
||||
|
||||
- Gradients
|
||||
- Some kind of glitz/cairo integration - a GlitzDrawable Actor ?
|
||||
- More portability - GL ES, DirectFB?, Windows, Mac ?
|
||||
- Overhaul co-ordinate system ( more precision ? )
|
||||
- Width-for-height allocation of the actors (esp. ClutterLabel)
|
||||
- Complete over-haul of the ClutterMedia interface
|
||||
o remove the accessors from the vfuncs and use pure properties
|
||||
o add a way to get a timeline from the media source, to be
|
||||
used inside a ClutterAlpha and drive a behaviour
|
||||
o add signals for start and stop
|
||||
- Move the events to the actors instead of the stage
|
||||
o add an event queue to clutter so that we can push/pop the
|
||||
events from it
|
||||
o add support for mouse double click and scroll events
|
||||
- Add focus handling API
|
||||
- Add an entry actor
|
||||
(See backends branch, GL ES for 0.3)
|
||||
- Text entry actor (0.3).
|
||||
- VBox and HBox ClutterGroup subclasses (0.3).
|
||||
- Figure out focus model + binding events to actors (0.3).
|
||||
- Fragment shading ?
|
||||
- Gradients
|
||||
- More drawing primitives (or just cairo?)
|
||||
|
||||
Optimisations
|
||||
==
|
||||
|
||||
- Display lists.
|
||||
- labels being more conservative on texture creation.
|
||||
o blitting to textures less
|
||||
- Custom source rather than idle handler for paints ?
|
||||
- General oprofiling.
|
||||
|
||||
Other
|
||||
==
|
||||
- Unit tests
|
||||
- Much improved examples / demos
|
||||
- Sort Documentation
|
||||
- Bindings to languages other than just Python and Perl.
|
||||
- Improve documentation.
|
||||
- Overhaul co-ordinate system ( more precision ? )
|
@ -244,6 +244,45 @@ clutter_behaviour_remove (ClutterBehaviour *behave,
|
||||
behave->priv->actors = g_slist_remove (behave->priv->actors, actor);
|
||||
}
|
||||
|
||||
/**
|
||||
* clutter_behaviour_get_n_actors:
|
||||
* @behave: a #ClutterBehaviour
|
||||
*
|
||||
* Gets the number of actors this behaviour is applied too.
|
||||
*
|
||||
* Return value: The number of applied actors
|
||||
*
|
||||
* Since: 0.2
|
||||
*/
|
||||
gint
|
||||
clutter_behaviour_get_n_actors (ClutterBehaviour *behave)
|
||||
{
|
||||
g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR (behave), 0);
|
||||
|
||||
return g_list_length (behave->priv->actors);
|
||||
}
|
||||
|
||||
/**
|
||||
* clutter_behaviour_get_nth_actor:
|
||||
* @behave: a #ClutterBehaviour
|
||||
* @num: the index of an actor this behaviour is applied too.
|
||||
*
|
||||
* Gets an actor the behaviour was applied to referenced by index num.
|
||||
*
|
||||
* Return value: A Clutter actor or NULL if index is invalid.
|
||||
*
|
||||
* Since: 0.2
|
||||
*/
|
||||
ClutterActor*
|
||||
clutter_behaviour_get_nth_actor (ClutterBehaviour *behave,
|
||||
gint num)
|
||||
{
|
||||
g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR (behave), NULL);
|
||||
|
||||
return g_list_nth_data (behave->priv->actors, num);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* clutter_behaviour_actors_foreach:
|
||||
* @behave: a #ClutterBehaviour
|
||||
|
@ -105,6 +105,13 @@ void clutter_behaviour_remove (ClutterBehaviour *beh
|
||||
void clutter_behaviour_actors_foreach (ClutterBehaviour *behave,
|
||||
ClutterBehaviourForeachFunc func,
|
||||
gpointer data);
|
||||
gint clutter_behaviour_get_n_actors (ClutterBehaviour *behave);
|
||||
|
||||
ClutterActor* clutter_behaviour_get_nth_actor (ClutterBehaviour *behave,
|
||||
gint num);
|
||||
|
||||
|
||||
|
||||
GSList * clutter_behaviour_get_actors (ClutterBehaviour *behave);
|
||||
ClutterAlpha *clutter_behaviour_get_alpha (ClutterBehaviour *behave);
|
||||
void clutter_behaviour_set_alpha (ClutterBehaviour *behave,
|
||||
|
@ -253,7 +253,8 @@ clutter_feature_init (void)
|
||||
glx_extensions = glXQueryExtensionsString (clutter_xdisplay (),
|
||||
clutter_xscreen ());
|
||||
|
||||
if (check_gl_extension ("GL_ARB_texture_rectangle", gl_extensions))
|
||||
if (check_gl_extension ("GL_ARB_texture_rectangle", gl_extensions)
|
||||
|| check_gl_extension ("GL_EXT_texture_rectangle", gl_extensions))
|
||||
__features->flags |= CLUTTER_FEATURE_TEXTURE_RECTANGLE;
|
||||
|
||||
/* vblank */
|
||||
|
@ -131,7 +131,7 @@ clutter_group_allocate_coords (ClutterActor *self,
|
||||
if (box->x2 == 0 || cbox.x2 > box->x2)
|
||||
box->x2 = cbox.x2;
|
||||
|
||||
if (box->y2 == 0 || cbox.y2 < box->y2)
|
||||
if (box->y2 == 0 || cbox.y2 > box->y2)
|
||||
box->y2 = cbox.y2;
|
||||
}
|
||||
}
|
||||
@ -265,7 +265,7 @@ clutter_group_get_children (ClutterGroup *self)
|
||||
gint
|
||||
clutter_group_get_n_children (ClutterGroup *self)
|
||||
{
|
||||
g_return_val_if_fail (CLUTTER_IS_GROUP (self), NULL);
|
||||
g_return_val_if_fail (CLUTTER_IS_GROUP (self), 0);
|
||||
|
||||
return g_list_length (self->priv->children);
|
||||
}
|
||||
|
@ -405,11 +405,32 @@ clutter_stage_realize (ClutterActor *actor)
|
||||
};
|
||||
|
||||
if (priv->xvisinfo)
|
||||
XFree(priv->xvisinfo);
|
||||
{
|
||||
XFree(priv->xvisinfo);
|
||||
priv->xvisinfo = None;
|
||||
}
|
||||
#if 0
|
||||
/* Attempted fix at GTK 'white' textures - made no difference :( */
|
||||
if (priv->is_foreign_xwin && priv->xwin != None)
|
||||
{
|
||||
XWindowAttributes win_attr;
|
||||
XVisualInfo vis_info;
|
||||
int n;
|
||||
|
||||
priv->xvisinfo = glXChooseVisual (clutter_xdisplay(),
|
||||
clutter_xscreen(),
|
||||
gl_attributes);
|
||||
XGetWindowAttributes (clutter_xdisplay(), priv->xwin, &win_attr);
|
||||
vis_info.screen = clutter_xscreen();
|
||||
vis_info.visualid = XVisualIDFromVisual (win_attr.visual);
|
||||
priv->xvisinfo = XGetVisualInfo (clutter_xdisplay(),
|
||||
VisualScreenMask|VisualIDMask,
|
||||
&vis_info, &n);
|
||||
|
||||
printf("made %li\n", priv->xvisinfo);
|
||||
}
|
||||
#endif
|
||||
if (priv->xvisinfo == None)
|
||||
priv->xvisinfo = glXChooseVisual (clutter_xdisplay(),
|
||||
clutter_xscreen(),
|
||||
gl_attributes);
|
||||
if (!priv->xvisinfo)
|
||||
{
|
||||
g_critical ("Unable to find suitable GL visual.");
|
||||
|
@ -539,12 +539,11 @@ texture_upload_data (ClutterTexture *texture,
|
||||
|
||||
glTexEnvi (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
|
||||
glPixelStorei (GL_UNPACK_ROW_LENGTH, priv->width);
|
||||
glPixelStorei (GL_UNPACK_ROW_LENGTH, src_w);
|
||||
glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
|
||||
|
||||
if (create_textures)
|
||||
{
|
||||
|
||||
glTexImage2D(priv->target_type,
|
||||
0,
|
||||
(bpp == 4) ?
|
||||
|
@ -1,27 +1,25 @@
|
||||
noinst_PROGRAMS = test super-oh behave
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/
|
||||
LDADD = $(top_builddir)/clutter/libclutter-@CLUTTER_MAJORMINOR@.la
|
||||
|
||||
test_SOURCES = test.c
|
||||
test_CFLAGS = $(CLUTTER_CFLAGS) $(GCONF_CFLAGS)
|
||||
test_LDFLAGS = \
|
||||
$(CLUTTER_LIBS) \
|
||||
$(GCONF_LIBS) \
|
||||
$(top_builddir)/clutter/libclutter-@CLUTTER_MAJORMINOR@.la
|
||||
$(GCONF_LIBS)
|
||||
|
||||
super_oh_SOURCES = super-oh.c
|
||||
super_oh_CFLAGS = $(CLUTTER_CFLAGS) $(GCONF_CFLAGS)
|
||||
super_oh_LDFLAGS = \
|
||||
$(CLUTTER_LIBS) \
|
||||
$(GCONF_LIBS) \
|
||||
$(top_builddir)/clutter/libclutter-@CLUTTER_MAJORMINOR@.la
|
||||
$(GCONF_LIBS)
|
||||
|
||||
behave_SOURCES = behave.c
|
||||
behave_CFLAGS = $(CLUTTER_CFLAGS) $(GCONF_CFLAGS)
|
||||
behave_LDFLAGS = \
|
||||
$(CLUTTER_LIBS) \
|
||||
$(GCONF_LIBS) \
|
||||
$(top_builddir)/clutter/libclutter-@CLUTTER_MAJORMINOR@.la
|
||||
$(GCONF_LIBS)
|
||||
|
||||
|
||||
EXTRA_DIST = redhand.png \
|
||||
|
Loading…
Reference in New Issue
Block a user