~oem-solutions-group/unity-2d/clutter-1.0

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Emilio Pozuelo Monfort
  • Date: 2010-03-21 13:27:56 UTC
  • mto: (2.1.3 experimental)
  • mto: This revision was merged to the branch mainline in revision 8.
  • Revision ID: james.westby@ubuntu.com-20100321132756-nf8yd30yxo3zzwcm
Tags: upstream-1.2.2
Import upstream version 1.2.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
Clutter 1.0 README
2
 
==================
 
1
Clutter - README
 
2
===============================================================================
3
3
 
4
 
Clutter is an open source software library for creating fast, visually
5
 
rich and animated graphical user interfaces.
 
4
Clutter is an open source software library for creating portable, fast,
 
5
visually rich and animated graphical user interfaces.
6
6
 
7
7
Clutter currently requires:
8
8
 
9
 
  * GLib >= 2.16.0
10
 
  * Cairo >= 1.6
11
 
  * PangoCairo >= 1.20
12
 
  * OpenGL >= 1.4, OpenGL ES 1.1 or OpenGL ES 2.0
13
 
  * GLX, SDL, WGL or an EGL Implementation
 
9
  • GLib >= 2.16.0
 
10
  • Cairo >= 1.6
 
11
  • PangoCairo >= 1.20
 
12
  • OpenGL >= 1.3 or 1.2+multitexturing, OpenGL ES 1.1 or OpenGL ES 2.0
 
13
  • GLX, SDL, WGL or an EGL Implementation
 
14
  • JSON-GLib >= 0.8 (optional)
 
15
  • GDK-Pixbuf >= 2.0 (optional)
 
16
 
 
17
When running the OpenGL flavor, Clutter requires at least version 1.3
 
18
or 1.2 with the multitexturing extension. However to build Clutter
 
19
you will need the latest GL headers which can be obtained from:
 
20
 
 
21
  http://www.khronos.org
14
22
 
15
23
If you are building the API reference you will also need:
16
24
 
17
 
  * GTK-Doc >= 1.11
 
25
  • GTK-Doc >= 1.11
18
26
 
19
27
If you are building the Introspection data you will also need:
20
28
 
21
 
  * GObject-Introspection >= 0.6.4
22
 
 
23
 
The official website is:
24
 
   http://www.clutter-project.org
25
 
 
26
 
The Clutter blog is at
27
 
   http://www.clutter-project.org/blog
28
 
 
29
 
To subscribe to the Clutter mailing list, send mail to:
 
29
  • GObject-Introspection >= 0.6.4
 
30
 
 
31
If you want built in support for profiling Clutter you will also need:
 
32
 
 
33
  • UProf >= 0.2
 
34
 
 
35
UProf is available from:
 
36
 
 
37
  git://git.moblin.org/uprof.git
 
38
 
 
39
-------------------------------------------------------------------------------
 
40
 
 
41
The official Clutter website is:
 
42
 
 
43
   http://www.clutter-project.org/
 
44
 
 
45
The API reference for the latest stable release and unstable developers
 
46
snapshot are available at:
 
47
 
 
48
   http://www.clutter-project.org/docs/clutter/stable/
 
49
   http://www.clutter-project.org/docs/clutter/unstable/
 
50
 
 
51
New releases of Clutter are available at:
 
52
 
 
53
   http://www.clutter-project.org/sources/clutter/
 
54
 
 
55
The Clutter blog is at:
 
56
 
 
57
   http://www.clutter-project.org/blog/
 
58
 
 
59
To subscribe to the Clutter mailing list, send an email to:
 
60
 
30
61
   clutter+subscribe@o-hand.com
31
62
 
32
63
The official mailing list archive is:
 
64
 
33
65
   http://lists.o-hand.com/clutter/
34
66
 
35
67
New bug page on Bugzilla:
 
68
 
36
69
   http://bugzilla.o-hand.com/enter_bug.cgi?product=Clutter
37
70
 
38
71
Clutter is licensed under the terms of the GNU Lesser General Public
39
72
License, version 2.1 or (at your option) later.
40
73
 
41
 
INSTALLATION
42
 
============
43
 
 
44
 
See the INSTALL file. Info on specific Clutter options;
 
74
BUILDING AND INSTALLATION
 
75
===============================================================================
 
76
 
 
77
See the INSTALL file.
 
78
 
 
79
Clutter has additional command line options for the configure script:
45
80
 
46
81
 --enable-debug=[no/minimum/yes]
47
 
        Controls Clutter debugging level (default=yes):
48
 
          yes: All glib asserts, checks and runtime clutter verbose messages.
49
 
          minimum: Just glib cast checks and runtime clutter verbose messagaes.
50
 
          no: No glib asserts or checks and no runtime clutter verbose messages
51
 
              (Only really of use in extreme performance cases)
 
82
        Controls Clutter debugging level:
 
83
 
 
84
        yes:
 
85
                All GLib asserts, checks and support for runtime Clutter
 
86
                debugging notes through CLUTTER_DEBUG. This is the default
 
87
                value for developers snapshots.
 
88
 
 
89
        minimum:
 
90
                Just GType cast checks and support for runtime Clutter
 
91
                debugging notes through CLUTTER_DEBUG. This is the default
 
92
                for stable releases.
 
93
 
 
94
        no:
 
95
                No GLib asserts or checks and no support for runtime Clutter
 
96
                debugging notes. Only use in extreme performance and/or size
 
97
                optimization cases, though it is strongly discouraged.
52
98
 
53
99
 --enable-cogl-debug=[no/minimum/yes]
54
100
        Controls COGL debugging level (default=minimum):
55
 
          yes: All runtime verbose messages and error checking for each GL
56
 
               primitive
57
 
          minimum: All runtime verbose messages
58
 
          no: No error checking and no messages
 
101
 
 
102
        yes:
 
103
                Support for COGL debugging notes through COGL_DEBUG and
 
104
                error checking for each GL primitive. This is useful mostly
 
105
                to debug COGL itself.
 
106
 
 
107
        minimum:
 
108
                Support for COGL debugging notes through COGL_DEBUG. This is
 
109
                the default for developers snapshots.
 
110
 
 
111
        no:
 
112
                Disable support for COGL runtime debugging notes.
59
113
 
60
114
 --enable-maintainer-flags=[no/yes]
61
 
        Use strict compiler flags (default=no)
 
115
        Use strict compiler flags. This defaults to 'yes' for developers
 
116
        snapshots and to 'no' for stable releases.
62
117
 
63
118
 --enable-gtk-doc
64
119
        use gtk-doc to build API documentation (default=no). Requires gtk-doc
65
 
        present on system
66
 
 
67
 
 --enable-manual=[no/yes]
68
 
        Build application developers manual. Requires jw and xmlto binaries.
69
 
        Presently incomplete.
70
 
 
71
 
  --with-flavour=[glx/eglx/eglnative/sdl/osx/win32/fruity]
 
120
        present on the target system.
 
121
 
 
122
 --enable-docs=[no/yes]
 
123
        Build additional documentation. Requires xsltproc for DocBook
 
124
        conversion, and optionally jw for PDF generation.
 
125
 
 
126
 --enable-gcov=[no/yes]
 
127
        Build Clutter with coverage report support, provided by gcov. This
 
128
        feature only works with the GNU Compiler Suite and gcov installed.
 
129
 
 
130
 --enable-profile=[no/yes]
 
131
        Build Clutter with profiling instrumentation. Requires the GNU
 
132
        C Compiler and the UProf library.
 
133
 
 
134
 --enable-conform=[yes/no]
 
135
        Build the Clutter conformance test suite.
 
136
 
 
137
 --with-flavour=[glx/eglx/eglnative/osx/win32/fruity]
72
138
        Select the Clutter backend: (default=glx)
73
139
 
74
 
          glx:  Fully featured GLX backend. Using Open GL.
75
 
 
76
 
          eglx: EGL/Open GL ES backend for EGL on X windows implementations
77
 
 
78
 
          eglnative:
 
140
        glx:
 
141
                Fully featured GLX backend. Using Open GL.
 
142
 
 
143
        eglx:
 
144
                EGL/Open GL ES backend for EGL on X windows implementations
 
145
 
 
146
        eglnative:
79
147
                EGL/Open GL ES backend on 'native windowing system' - i.e
80
148
                raw framebuffer. Expects the EGL implementation to provide
81
149
                a createNativeWindow() call. Also it optionally supports
82
150
                tslib for touchscreen events.
83
151
 
84
 
          sdl:  Basic SDL backend, using Open GL. Should provide portability
85
 
                to Windows and possibly other OS's. (DEPRECATED)
86
 
 
87
 
          osx:  OS X backend. (EXPERIMENTAL)
88
 
 
89
 
          win32:
 
152
        osx:
 
153
                OS X backend. (EXPERIMENTAL)
 
154
 
 
155
        win32:
90
156
                Microsoft Windows(tm) WGL backend
91
157
 
92
 
          fruity:
 
158
        fruity:
93
159
                Apple iPod Touch(tm)/iPhone(tm) backend (EXPERIMENTAL)
94
160
 
95
 
  --with-imagebackend=[gdk-pixbuf/quartz/internal]
 
161
 --with-imagebackend=[gdk-pixbuf/quartz/internal]
96
162
        Select the image loading backend used by COGL
97
163
 
98
 
          gdk-pixbuf: Depend on gdk-pixbuf-2.0 (default for the glx, eglx,
99
 
                      eglnative, sdl, win32 flavours and recommended)
100
 
 
101
 
          quartz:     Depend on CoreGraphics (default for the osx flavour)
102
 
 
103
 
          internal:   Internal JPEG and PNG loader. Should only be used
104
 
                      for testing on new platforms
105
 
 
106
 
  --with-gles=[1.1/2.0]
 
164
        gdk-pixbuf:
 
165
                Depend on gdk-pixbuf-2.0 (default for the glx, eglx,
 
166
                eglnative, win32 flavours and recommended)
 
167
 
 
168
        quartz:
 
169
                Depend on CoreGraphics (default for the osx flavour)
 
170
 
 
171
        internal:
 
172
                Internal JPEG and PNG loader. Should only be used
 
173
                for testing on new platforms
 
174
 
 
175
 --with-gles=[1.1/2.0]
107
176
        Select the GLES version (for EGL backends) (default=1.1)
108
177
 
109
 
  --with-json=[internal/check]
110
 
        Select the JSON-GLib copy to use (default=internal)
111
 
 
112
 
          internal: Use the internal copy of JSON-GLib for ClutterScript
113
 
 
114
 
          check: Check for the existence of a system copy of JSON-GLib
115
 
                 and if it is available, make Clutter depend on it
 
178
 --with-json=[internal/check/system]
 
179
        Select the JSON-GLib copy to use (default=check)
 
180
 
 
181
        internal:
 
182
                Use the internal copy of JSON-GLib for ClutterScript
 
183
 
 
184
        check:
 
185
                Check for the existence of a system copy of JSON-GLib
 
186
                and if it is available, make Clutter depend on it
 
187
 
 
188
        system:
 
189
                Only use the system copy of JSON-GLib and warn if not found
116
190
 
117
191
VERSIONING
118
 
==========
 
192
===============================================================================
119
193
 
120
194
Clutter uses the common "Linux kernel" versioning system, where
121
195
even-numbered minor versions are stable and odd-numbered minor
129
203
 
130
204
The micro version indicates the origin of the release: even micro
131
205
numbers are only used for released archives; odd micro numbers are
132
 
only used on the SVN repository.
 
206
only used on the Git repository.
133
207
 
134
208
HACKING
135
 
=======
136
 
 
137
 
If you want to hack on and improve Clutter, check the contained TODO
138
 
file for pending tasks, the HACKING file for general implementation guidelines,
139
 
HACKING.backends for backend-specific implementation issues. The CODING_STYLE
140
 
file contains the rules for writing code conformant to the style guidelines used
141
 
throughout Clutter. Remember: the coding style is mandatory; patches not conforming
142
 
to it will be rejected.
 
209
===============================================================================
 
210
 
 
211
If you want to hack on and improve Clutter, check the contained TODO file for
 
212
pending tasks, the HACKING file for general implementation guidelines, and the
 
213
HACKING.backends for backend-specific implementation issues.
 
214
 
 
215
The CODING_STYLE file contains the rules for writing code conformant to the
 
216
style guidelines used throughout Clutter. Remember: the coding style is
 
217
mandatory; patches not conforming to it will be rejected.
143
218
 
144
219
BUGS
145
 
====
 
220
===============================================================================
146
221
 
147
 
Bugs should be reported to the OpenedHand Bugzilla at:
 
222
Bugs should be reported to the Clutter Bugzilla at:
148
223
 
149
224
  http://bugzilla.o-hand.com/enter_bug.cgi?product=Clutter
150
225
 
152
227
 
153
228
In the report you should include:
154
229
 
155
 
  * what system you're running Clutter on;
156
 
  * which version of Clutter you are using;
157
 
  * which version of GLib and OpenGL you are using;
158
 
  * which video card and which drivers you are using, including output of
 
230
  • what system you're running Clutter on;
 
231
  • which version of Clutter you are using;
 
232
  • which version of GLib and OpenGL (or OpenGL ES) you are using;
 
233
  • which video card and which drivers you are using, including output of
159
234
    glxinfo and xdpyinfo (if applicable);
160
 
  * how to reproduce the bug.
 
235
  • how to reproduce the bug.
161
236
 
162
237
If you cannot reproduce the bug with one of the tests that come with Clutter
163
238
source code, you should include a small test case displaying the bad
166
241
If the bug exposes a crash, the exact text printed out and a stack trace
167
242
obtained using gdb are greatly appreciated.
168
243
 
169
 
PATCHES
170
 
=======
 
244
CONTRIBUTING
 
245
===============================================================================
171
246
 
172
247
Patches should be submitted using Bugzilla. Patches fixing a bug should be
173
248
attached to the bug report; patches for new features or for fixing bugs not
194
269
development team to arrange a suitable solution.
195
270
 
196
271
RELEASE NOTES
197
 
=============
 
272
===============================================================================
198
273
 
199
274
Relevant information for developers with existing Clutter applications
200
 
wanting to port to newer releases (See NEWS for general new feature info).
 
275
wanting to port to newer releases (see NEWS for general information on new
 
276
features).
 
277
 
 
278
Release Notes for Clutter 1.2
 
279
-------------------------------------------------------------------------------
 
280
 
 
281
* ClutterStageManager is now publicly available and documented API.
 
282
 
 
283
* Clutter now depends on the system copy of JSON-GLib, and will fall
 
284
  back to the internal copy only if JSON-GLib is not installed.
 
285
 
 
286
* ClutterActor:opacity is now defined using GParamSpecUint instead of
 
287
  GParamSpecUchar; the same interval of [ 0, 255 ] applies, and GValue
 
288
  has internal transformation functions for converting between G_TYPE_UINT
 
289
  and G_TYPE_UCHAR, so this change should be fully transparent to the
 
290
  user of the code.
 
291
 
 
292
* On X11 Clutter will emulate XKB's detectable key auto-repeat; this means
 
293
  that when holding down a key, Clutter will emit multiple CLUTTER_KEY_PRESS
 
294
  events and a single CLUTTER_KEY_RELEASE event instead of a list of
 
295
  CLUTTER_KEY_PRESS and CLUTTER_KEY_RELEASE pairs.
 
296
 
 
297
* On X11 and Win32 the default Stage is created when
 
298
  clutter_stage_get_default() is called for the first time, and not as
 
299
  part of the stage initialization.
 
300
 
 
301
Cogl API changes for Clutter 1.2
 
302
-------------------------------------------------------------------------------
 
303
 
 
304
* cogl_viewport is now deprecated in favour of cogl_set_viewport which
 
305
  accepts a viewport offset.
 
306
 
 
307
* cogl_clip_push() is now deprecated and new code should use
 
308
  cogl_clip_push_rectangle() instead. The old API wasn't consistent with other
 
309
  Cogl APIs that specify model space rectangles using (x0,y0)(x1,y1) pairs.
 
310
 
 
311
* cogl_clip_push_window_rect() is now deprecated and new code should use
 
312
  cogl_clip_push_window_rectangle(). The old API shouldn't have been defined
 
313
  to take floats and the abbreviation wasn't consistent with other Cogl API.
 
314
 
 
315
* cogl_clip_stack_save() and cogl_clip_stack_restore() are deprecated, as
 
316
  the functionality is redundant now that offscreen draw buffers own their
 
317
  clip state and switching to/from offscreen rendering will automatically
 
318
  save and restore the clip state.
 
319
 
 
320
* cogl_material_copy() was added. It is advised that developers use
 
321
  this instead of cogl_material_new() when creating a material that is in some
 
322
  way derived from another. This will allow Cogl to track material
 
323
  ancestries/similarities and reduce the cost of GPU state changes.
 
324
 
 
325
* cogl_push_draw_buffer, cogl_set_draw_buffer and cogl_pop_draw_buffer are now
 
326
  deprecated and new code should use the cogl_framebuffer_* API instead.
 
327
  Code that previously did:
 
328
    cogl_push_draw_buffer ();
 
329
    cogl_set_draw_buffer (COGL_OFFSCREEN_BUFFER, buffer);
 
330
    /* draw */
 
331
    cogl_pop_draw_buffer ();
 
332
  can now be re-written as:
 
333
    cogl_push_framebuffer (buffer);
 
334
    /* draw */
 
335
    cogl_pop_framebuffer ();
 
336
 
 
337
* All cogl_<type>_ref() and cogl_<type>_unref() functions have been
 
338
  deprecated, and superceded by cogl_handle_ref() and cogl_handle_unref()
 
339
  respectively.
 
340
 
 
341
* The cogl_check_extension() function has been deprecated. This function
 
342
  was never meant to be public, since it depends on calling glGetString()
 
343
  before its invocation. Users of this function can be replaced by the
 
344
  equivalent code:
 
345
 
 
346
    gl_ext = glGetString (GL_EXTENSIONS);
 
347
  - has_ext = cogl_check_extension (ext_name, gl_ext);
 
348
  + has_ext = strstr (gl_ext, ext_name) != NULL ? TRUE : FALSE;
201
349
 
202
350
Release Notes for Clutter 1.0
203
 
-------------------------------
 
351
-------------------------------------------------------------------------------
204
352
 
205
353
* The clutter_actor_set_shader_param() function now takes a
206
354
  GValue, which can be set using the clutter_value_set_shader()
259
407
      correct HLS intervals:
260
408
 
261
409
         Hue: [ 0, 360 )
262
 
         Luminance: [ 0,  1]
 
410
         Luminance: [ 0, 1 ]
263
411
         Saturation: [ 0, 1 ]
264
412
 
265
413
* The ClutterFixed symbols have been completely removed: fixed-point
315
463
  takes the duration of the timeline in milliseconds, and thus it replaces
316
464
  the clutter_timeline_new_for_duration() variant.
317
465
 
318
 
  Cogl API changes for Clutter 1.0
319
 
  --------------------------------
 
466
Cogl API changes for Clutter 1.0
 
467
-------------------------------------------------------------------------------
320
468
 
321
469
* All drawing functions now use a source material to determine how geometry is
322
470
  filled. The source material is set via cogl_set_source. Or the convenience
423
571
  a corresponding cogl_get_depth_test_enabled function has been added.
424
572
 
425
573
Release Notes for Clutter 0.8
426
 
-------------------------------
 
574
-------------------------------------------------------------------------------
427
575
 
428
576
* The COGL GL wrapper API has been completely overhauled and now
429
577
  contains many new features including new greatly improved texture
589
737
* ClutterContainer can have per child custom properties via ClutterChildMeta.
590
738
 
591
739
Release Notes for Clutter 0.6
592
 
-------------------------------
 
740
-------------------------------------------------------------------------------
593
741
 
594
742
* Now that every actor has events, the class signal handlers have been
595
743
  removed from ClutterStageClass and moved into ClutterActorClass.
678
826
  respectively.
679
827
 
680
828
Release Notes for Clutter 0.4.0
681
 
-------------------------------
 
829
-------------------------------------------------------------------------------
682
830
 
683
831
* clutter_actor_show_all does not recurse for groups at least (this is to
684
832
  match the original group_show_all behaviour). This is like 0.3 but was
697
845
  overhauled.
698
846
 
699
847
Release Notes for Clutter 0.3.1
700
 
-------------------------------
 
848
-------------------------------------------------------------------------------
701
849
 
702
850
* clutter_actor_apply_transform_to_point() parameters changed to use
703
851
  ClutterVertices.
708
856
* Exisiting X11 based egl backend public API calls now prefixed eglx.
709
857
 
710
858
Release Notes for Clutter 0.3
711
 
-----------------------------
 
859
-------------------------------------------------------------------------------
712
860
 
713
861
* ClutterTexture changes:
714
862
  + clutter_texture_set_pixbuf() now takes a GError paremeter.
769
917
  ClutterGroup::remove signals have been deprecated:
770
918
  ClutterContainer::actor-added and ClutterContainer::actor-removed should
771
919
  be used instead.
772
 
 
773
 
$LastChangedDate$