aboutsummaryrefslogtreecommitdiffstats
path: root/src/classes/com/sun
Commit message (Collapse)AuthorAgeFilesLines
...
* Auto GL profile selection working (GLES1 and GL2 (X11))Sven Gothel2008-06-251-2/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1685 232f8b59-042b-4e1e-8c03-345bb8c30851
* Auto GL profile selection; New GLReflection (refactoring of common ↵Sven Gothel2008-06-253-28/+130
| | | | | | relfections); Fixes git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1684 232f8b59-042b-4e1e-8c03-345bb8c30851
* GLES1 NEWT X11 - RedSquare - workingSven Gothel2008-06-251-6/+12
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1683 232f8b59-042b-4e1e-8c03-345bb8c30851
* Native Compilation: Partitioning and X11 cleanSven Gothel2008-06-2510-14/+46
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1680 232f8b59-042b-4e1e-8c03-345bb8c30851
* relocated to jawt packageSven Gothel2008-06-244-401/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1678 232f8b59-042b-4e1e-8c03-345bb8c30851
* re-add accidently removed filesSven Gothel2008-06-2453-0/+16187
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1677 232f8b59-042b-4e1e-8c03-345bb8c30851
* re-addSven Gothel2008-06-247-0/+1092
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1676 232f8b59-042b-4e1e-8c03-345bb8c30851
* JAWT package cleanup ..Sven Gothel2008-06-249-4/+953
| | | | | | | re adding accidently removed files git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1675 232f8b59-042b-4e1e-8c03-345bb8c30851
* re-adding files ..Sven Gothel2008-06-2438-0/+6330
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1674 232f8b59-042b-4e1e-8c03-345bb8c30851
* - added doxygen.cfgSven Gothel2008-06-241-1/+1
| | | | | | | - fixed jar partitioning git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1672 232f8b59-042b-4e1e-8c03-345bb8c30851
* finishing 2nd refactoringSven Gothel2008-06-21173-63561/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1671 232f8b59-042b-4e1e-8c03-345bb8c30851
* 2nd big refactoring.Sven Gothel2008-06-216-114/+2429
| | | | | | | | | | | | | | | | | | | | | | Goals are orthogonal components for: - OS Windowing system - NEWT, X11, Windows, MacOsX - GL Windowing GLUE - EGL, GLX, WGL, CGL - GL profiles - core and util packages - generate all Java components from any platform All above goals are achieved. TODO: - Native compilation fix and test - Check/Fix Win32, MacOSX and the mobile devices - .. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1670 232f8b59-042b-4e1e-8c03-345bb8c30851
* *** empty log message ***Sven Gothel2008-06-215-173/+10
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1669 232f8b59-042b-4e1e-8c03-345bb8c30851
* 2nd big refactoring.Sven Gothel2008-06-211-1355/+0
| | | | | | | | | | | | | | | | | | | | | | Goals are orthogonal components for: - OS Windowing system - NEWT, X11, Windows, MacOsX - GL Windowing GLUE - EGL, GLX, WGL, CGL - GL profiles - core and util packages - generate all Java components from any platform All above goals are achieved. TODO: - Native compilation fix and test - Check/Fix Win32, MacOSX and the mobile devices - .. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1668 232f8b59-042b-4e1e-8c03-345bb8c30851
* 2nd big refactoring.Sven Gothel2008-06-214-0/+401
| | | | | | | | | | | | | | | | | | | | | | Goals are orthogonal components for: - OS Windowing system - NEWT, X11, Windows, MacOsX - GL Windowing GLUE - EGL, GLX, WGL, CGL - GL profiles - core and util packages - generate all Java components from any platform All above goals are achieved. TODO: - Native compilation fix and test - Check/Fix Win32, MacOSX and the mobile devices - .. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1667 232f8b59-042b-4e1e-8c03-345bb8c30851
* 2nd big refactoring...Sven Gothel2008-06-217-1121/+0
| | | | | | | removal .. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1666 232f8b59-042b-4e1e-8c03-345bb8c30851
* 2nd big refactoring.Sven Gothel2008-06-21102-949/+39142
| | | | | | | | | | | | | | | | | | | | | | Goals are orthogonal components for: - OS Windowing system - NEWT, X11, Windows, MacOsX - GL Windowing GLUE - EGL, GLX, WGL, CGL - GL profiles - core and util packages - generate all Java components from any platform All above goals are achieved. TODO: - Native compilation fix and test - Check/Fix Win32, MacOSX and the mobile devices - .. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1665 232f8b59-042b-4e1e-8c03-345bb8c30851
* Split BufferUtil.java in to Java SE and Java ME + CDC + FP (+ JSR-239 Kenneth Russel2008-06-053-294/+522
| | | | | | | | NIO subset) implementations. Tested with OpenGL ES 1.1 profile build; desktop OpenGL build is not functioning yet for other reasons. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1662 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added Immediate Mode Sink (ImmModeSInk)Sven Gothel2008-06-036-154/+924
| | | | | | | | | | | | | | | to allow ES 1.1 to use immediate mode rendering. It uses VBO which can also be cached, see GLUquadric 'hack'. GLUquadrics are now enabled for ES 1. Added Sync to Newt's X11Window setVisible, to make sure the window is established for the GLdrawable. TODO: proper distinguishing of GL profiles and ImmModeSink usage .. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1661 232f8b59-042b-4e1e-8c03-345bb8c30851
* Bug fixes to mouse dragging logicKenneth Russel2008-06-021-8/+12
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1660 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made sendMouseEvent and sendKeyEvent protected because CVM won't look Kenneth Russel2008-06-011-4/+5
| | | | | | | up native methods if they're private in the superclass git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1659 232f8b59-042b-4e1e-8c03-345bb8c30851
* Ported Newt event handling to Windows. Minor bug fixes to Windows Kenneth Russel2008-06-012-2/+2
| | | | | | | | platform related to recent code refactoring. Unicode correctness in Windows native code. Cosmetic fixes. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1657 232f8b59-042b-4e1e-8c03-345bb8c30851
* refactoring .. wip ..Sven Gothel2008-06-014-18/+15
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1656 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactoring JOGL to partition core windowing, AWT, GL, ES1 and ES2 .. WIPSven Gothel2008-06-0131-466/+1211
| | | | | | | | Compile Clean: X11, noAWT, ES1, no *.impl.x11/win/macosx See jogl/make/build.xml for new build properties. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1654 232f8b59-042b-4e1e-8c03-345bb8c30851
* EGLDrawableFactory: Removed shutdown.Sven Gothel2008-05-301-2/+3
| | | | | | | | | | GLDrawable: Added 'destroy' to interface. EGLDrawable: Implemented 'destroy', to setRealized(false) and to shutdown the egl/display connection (eglTerminate). git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1653 232f8b59-042b-4e1e-8c03-345bb8c30851
* Completing com.sun.javafx.newt.* package, WIP, working under X11/ES1.1.Sven Gothel2008-05-309-56/+292
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fixed: - EGLDrawable[Factory] - Object target is a 'long[3]' with [display, screen, window] native handles. Depending on the platform, display and screen handles may be 0. - Moved EGL.eglGetDisplay and EGL.eglInitialize from EGLDrawableFactory -> EGLDrawable, since the factory has no notion of the native handles, but the display is necessary. - newt.*: - Added Display and Screen abstraction - Added 'long[] Window.getHandles()', to feed EGLDrawableFactory.getGLDrawable() with the 3 native handles. - MouseEvent: - Java: Clicked and Dragged working - native/X11: SelectInput with proper args - KeyEvent: - native/X11: added XSetInputFocus and XLookupString git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1652 232f8b59-042b-4e1e-8c03-345bb8c30851
* Completing com.sun.javafx.newt.* package, WIP, compile clean, but untested.Sven Gothel2008-05-3010-9/+1005
| | | | | | | | | - Input Event Handling: Mouse and Keyboard. - X11 port - Using the VisualID to construct the native window. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1651 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added GLDrawableFactory.shutdown() to enable clean and cooperative Kenneth Russel2008-05-303-1/+17
| | | | | | | | termination, overriding it in EGLDrawableFactory to call eglTerminate. Made EGLDrawable.setRealized(false) clean up the EGLSurface. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1650 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changes to WindowsWindow.c to compile on Windows CE. Slight changes to Kenneth Russel2008-05-301-1/+1
| | | | | | | config selection to match C code -- no semantic difference, however. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1649 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made call to ByteOrder.nativeOrder() in BufferUtil reflective so it Kenneth Russel2008-05-291-2/+37
| | | | | | | | | can be done when running on Java SE even if the code is compiled on CDC/FP. Fixed bug in WindowsWindow.c where upcalls from native WndProc were not being made. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1647 232f8b59-042b-4e1e-8c03-345bb8c30851
* Various bug fixes. Incorporated minimal window abstraction to Kenneth Russel2008-05-295-18/+253
| | | | | | | | | bootstrap EGL subsystem. Added back in GLU generation for ES 2. This code creates and shows the window for the demos.es1.RedSquare demo, but nothing is rendered yet. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1645 232f8b59-042b-4e1e-8c03-345bb8c30851
* Implemented dynamic function lookup in EGLDrawableFactory and Kenneth Russel2008-05-281-9/+59
| | | | | | | | | initialization of the EGL ProcAddressTable which should allow bootstrapping, at least on Windows and/or the NVidia APX 2500. Not yet tested. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1644 232f8b59-042b-4e1e-8c03-345bb8c30851
* Filled out EGLContext, EGLDrawable, and EGLDrawableFactory Kenneth Russel2008-05-287-7/+270
| | | | | | | | | | | | | | | implementations on top of autogenerated EGL binding. Added GLDrawableFactory.initialize(String) taking the profile name (PROFILE_GL_20, PROFILE_GLES1, and PROFILE_GLES2 defined in GLDrawableFactory) to bootstrap the system and allow run-time selection of the window system binding. Modified eglplatform.h to extend EGLNativeDisplayType to pointer size. Changed egl.cfg to change most EGL types to opaque longs. Still missing pieces include the function pointer lookup and autogeneration of the EGL binding in all situations. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1643 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactorings to support building JOGL for OpenGL ES 1 and OpenGL ES 2. Kenneth Russel2008-05-1322-336/+2911
| | | | | | | | | | | | | | | | | | | | | "ant -Djogl.es1=1" builds JOGL for OpenGL ES 1. "ant -Djogl.es2=1" builds JOGL for OpenGL ES 2. "ant" builds JOGL for desktop OpenGL (2.1). Building desktop OpenGL is currently broken (FIXME) -- more refactorings are necessary. When compiling, it is currently necessary to specify -Djogl.noglnatives=1 on the ant command line as well, because the generated native code does not link properly since we do not have OpenGL ES libraries on the desktop. Building the generated native code using a cross-compiler is not yet hooked up into the ant build mechanism. It is necessary to build the generated native code with external tools. Also incorporated spatialized audio framework using Windows waveOut device; this is a temporary measure until a different workspace can be found for this code. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1630 232f8b59-042b-4e1e-8c03-345bb8c30851
* Addendum to fix for Issue 344: Serious TextRenderer problems involving large ↵Kenneth Russel2008-02-191-1/+1
| | | | | | | | | | | | fonts & unicode characters Fixed off-by-one error in computation of needsAdvance bit for high Unicode strings pointed out by spiraljetty on JOGL forum. Added test case for this. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1538 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added table of Porter-Duff compositing rules in the face of Kenneth Russel2008-02-181-0/+22
| | | | | | | | premultiplied alpha based on some code from the Java 2D OpenGL pipeline git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1535 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 344: Serious TextRenderer problems involving large fonts & ↵Kenneth Russel2008-02-181-476/+462
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unicode characters The glyph-based rendering algorithm for the TextRenderer was performing rendering in two steps: glyph preparation and upload, and rendering. This structure doesn't work in the context of the RectanglePacker, which can reorganize the backing store during any upload. Restructured the glyph cache in the TextRenderer in terms of flyweight Glyph objects which know how to upload and render themselves. During any upload, the outstanding glyphs not yet rendered to the screen may thereby be flushed. Improved the code path which falls back to the string-by-string algorithm for complex Unicode characters so that incoming strings can be segmented into multiple parts which are rendered either using the glyph cache or the string-by-string algorithm. Also tinkered with the bounds of glyphs and strings on the backing store to try to more definitively eliminate bleed-over between adjacent characters on the backing store, and to ensure that all of the pixels of glyphs are drawn. Some heuristics are unfortunately involved but the new code appears to work well with both very large and very small fonts. Added a few more test cases for the TextRenderer based on the bug report. Tested with the previous test cases as well. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1533 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 342: demos/j2d/TextFlow (TextRenderer) demo gives fuzzy text Kenneth Russel2008-02-161-7/+32
| | | | | | | | Added setSmoothing / getSmoothing to TextRenderer API to offer control over filtering mode of the TextureRenderer backing store. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1528 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 339: Add system properties to turn off VAs/VBOs in TextRenderer Kenneth Russel2008-02-161-17/+80
| | | | | | | | | Incorporated patch from emzic, slightly modified, to add set/getUseVertexArrays() as concession to graphics cards which do not perform well with small vertex arrays. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1527 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed incorrect statements from TextureIO class about certain Kenneth Russel2008-01-161-8/+4
| | | | | | | | | methods not automatically generating mipmaps which appear to have been vestigial comments from the original checkin of this code; errors pointed out by Tom Gaskins of NASA World Wind Java project git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1500 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 332: TextRenderer depends on OpenGL 1.3 glClientActiveTexture Kenneth Russel2007-11-151-1/+0
| | | | | | | | | | | Removed call to glClientActiveTexture, which was incorrect as written since the texture object was being bound to the current texture unit and then the active texture unit forced to GL_TEXTURE0 just before setting up the texture coordinate pointer. Tested with text demos in jogl-demos workspace. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1440 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 326: TextRenderer corruption with certain text Kenneth Russel2007-11-091-6/+19
| | | | | | | | | | | | | | | | | Fixed four issues: - Regression in new segmenting and punting code causing ArrayIndexOutOfBoundsException due to not resetting the glyph uploader during punt. - Issue in same code where length and total advance were not being reset properly. - Incorrect handling in glyph-by-glyph rendering when backing store was using NPOT texture and GL_ARB_texture_rectangle. - Failure to punt when glyph code was out of bounds. Checked in two regression tests for these issues. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1434 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added RenderDelegate.getBounds(GlyphVector, FontRenderContext) and Kenneth Russel2007-11-031-6/+12
| | | | | | | | delegated to it in glyph-by-glyph renderer in order to support advanced RenderDelegates. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1424 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixes from John Burkey: Kenneth Russel2007-11-031-53/+117
| | | | | | | | | | | 1) Add segmenting for runs of glyphs that are going to blow the cache (we track upload size) a) upload handling b) glyph run segmenting 2) Fix incorrect assumption that the glyph cached didn't change size. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1423 232f8b59-042b-4e1e-8c03-345bb8c30851
* Whitespace changes only; for consistency, processed with Jalopy and Kenneth Russel2007-11-031-1457/+1491
| | | | | | | then re-indented with emacs git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1422 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made TextRenderer.DefaultRenderDelegate public and static on request Kenneth Russel2007-10-191-1/+1
| | | | | | | from emzic on JOGL forum git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1409 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 324: Rendering artifacts with glyph-based TextRenderer Kenneth Russel2007-10-171-1/+1
| | | | | | | | Changed from using getVisualBounds() to the more accurate getPixelBounds() when computing bounding box for individual glyphs. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1406 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 323: TextRenderer leaves VBOs bound Kenneth Russel2007-10-171-14/+39
| | | | | | | | | | | | | Manually unbound VBOs because it appears that some graphics drivers do not push and pop the GL_ARRAY_BUFFER_BINDING and other state during glPushClientAttrib / glPopClientAttrib. This is an area where the OpenGL specification is ambiguous. Added a non-VBO code path using normal vertex arrays for graphics cards that don't support VBOs. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1404 232f8b59-042b-4e1e-8c03-345bb8c30851
* Undid last checkin as it appears the current glPushClientAttrib / Kenneth Russel2007-10-131-6/+0
| | | | | | | | glPopClientAttrib in the TextRenderer are sufficient. Reverted back to nightly build numbering scheme; 1.1.1-rc6 version number not yet used. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1398 232f8b59-042b-4e1e-8c03-345bb8c30851
* Pre-emptively added clearing out of the GL_ARRAY_BUFFER binding after Kenneth Russel2007-10-121-0/+6
| | | | | | | | | doing glPopClientAttrib since it isn't clear according to the OpenGL specification whether this binding is part of the client-side state. Bumped build number to 1.1.1-rc6. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1396 232f8b59-042b-4e1e-8c03-345bb8c30851