aboutsummaryrefslogtreecommitdiffstats
path: root/src/newt
Commit message (Collapse)AuthorAgeFilesLines
* NEWT X11 Fix (mainly ATI and multithreading)Sven Gothel2010-04-135-104/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | - EventDispatchThread -> EDTUtil Since the name leads to the assumptions that an instance is the EDT. EDTUtil manages the EDT within. - EDTUtil, no more reference to Display, but use a Runnable for the pumpMessage() - Window.destroy() check if already done - X11Window: Added XErrorHandler to catch BadWindow and BadAtom while dispatching events - it is possible that the resource is already freed. Also added an XIOErrorHandler to identify the fatal Display* inaccessibility. Tests: - New junit/com/jogamp/test/junit/newt/TestWindows01NEWT.java Testing creation/destruction and double destruction (error case) - Fix: src/junit/com/jogamp/test/junit/jogl/offscreen/TestOffscreen01NEWT.java Properly holding all NEWT references .. Misc: - Reduced redundant NEWT 'toString()' output (*Capabilities, ..) -
* Fix NEWT Window destroy/close race condition,Sven Gothel2010-04-094-57/+94
| | | | | | | | where a programatic window.destroy() call from thread 1 triggers a destroy() call via the native windowing toolkit via windowDestroyNotify(). It has to be checked/locked if a destroy is in progress, otherwise they could deadlock (OSX and Win32).
* Fix missing MacOsX Newt refactoringSven Gothel2010-04-091-30/+30
|
* Added doc/deployment:Sven Gothel2010-04-082-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JOGL-JAR-BUNDELING.txt A first FAQ about the (new) JAR partitioning. lstjars/lstjars.linux_amd64-20100406.log A first deployment payload measurement in kBytes :) New JAR Partitioning: All-In-One (*all*): - with AWT - without AWT See JOGL-JAR-BUNDELING.txt Atomic: See JOGL-JAR-BUNDELING.txt - Removed property setup.noall, since the *all* targets are mandatory now. Currently - Added gl4 part (still empty) - Fixed make/lstjars.sh and etc/profile.jogl (new JAR bundles) - Fixed make/lstjars.sh to produce JAR and PACK200 numbers, and using the *all* bundles if possible. MacOsX: - Fix missing refactoring in src/newt/native/MacWindow.m - Adding missing NSWindowDelegate protocol to NewtMacWindow as mandatory since 10.3.6 Misc: - Applied: 'gluegen.cpptasks.striplibs' to all native libraries. - Use path.seperator (ant) and system.env.library.path (gluegen), for junit runs.
* added intelliJ modules for jogl, newt and nativewindow. Removed other ↵Michael Bien2010-04-081-13/+0
| | | | projectfiles.
* fixed a bunch of javadoc warnings.Michael Bien2010-03-291-2/+3
|
* moved com.jogamp.javafx.* to com.jogamp.*.Michael Bien2010-03-2950-278/+271
|
* final large refactoring to move to com.jogamp.*.Michael Bien2010-03-2849-250/+250
|
* refactoring part 4 (remaining files): renamed com.sun.opengl -> ↵Michael Bien2010-03-275-5/+5
| | | | com.jogamp.opengl.
* added idea project filesMichael Bien2010-03-271-0/+13
|
* Fix Solaris buildSven Gothel2009-10-151-6/+5
|
* X11 Display Lock completed (hope so)Sven Gothel2009-10-126-78/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - JOGL GLXUtil - JOGL X11GLXDrawableFactory - JOGL X11GLXGraphicsConfigurationFactory - JOGL X11OffscreenGLXDrawable - NW X11GraphicsConfigurationFactory NEWT Display - Stop EDT immediatly from within EDT when destroying - NEWT Window - Remove obsolete 'disposeSurfaceHandle()' NEWT GLWindow destroy(): - Deep destruction (Window, Screen and Display) if owner, otherwise just the GLWindow/GLDrawable - Add 'sendDisposeEvent' flag, to allow avoiding sending dispose to all GLEventListeners in a critical shutdown, ie from within the browser. NEWT EDT - More fine grained locking - unlocked while event dispatching - double check locking - Fixed cases where we are running on the EDT ..
* NEWT X11 Display Lock:Sven Gothel2009-10-114-23/+13
| | | | | | | | | | | | | | | Integrate Display.lock/unlock, so the generic Window will call it. Specialized for X11Display, the only real impl of it. Fixes offscreen EDT usage .. GLProfile: Add isAWTAvailable() and isAWTJOGLAvailable() TextureIO: - Add NetPbmTextureWriter - Only use IIOTexture* if !isAWTJOGLAvailable() - Add write (TextureData, File)
* NEWT: Avoid NPE at destroy() ; DEBUG println ..Sven Gothel2009-10-102-4/+20
|
* NEWT: Add EventDispatchThread (EDT) pattern.Sven Gothel2009-10-1015-365/+672
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to limitations on Windows, we need to standardize the one thread for - window creation, and - event dispatching This was already mentioned in the previous implementation but while integrating into another threading model (Plugin3), it turned out that manual managing the thread is too much of a burden. NEWT now uses a EDT per Display and Thread as the default, where Display creation, Window creation and event dispatching is 'pipelined' into. This can be switched off: NewtFactory.setUseEDT(boolean onoff); and queried via: NewtFactory.useEDT(); Note this EDT impl. does not implicate a global lock or whatsoever. The experimantal semantics of a current GL context for input event dispatching is removed, i.e. the GL context is no more made current for mouse/key listener. This reduces the complexity and allows the proper impl. of the external dispatch via EDT .. for example. Removed: GLWindow: setEventHandlerMode(int) .. etc X11Display: XLockDisplay/XUnlockDisplay needed to be utilized to allow the new multithreading (EDT/Render) Display usage. X11Window: lockSurface/unlockSurface locks X11Display as well .. +++++ NEWT: 'getSurfaceHandle()' semantics changed. To allow usage of the surfaceHandle for OS where it is allocated thread local (MS-Windows), it shall be aquired/released while lockSurface/unlockSurface. This is done in the Windows Window implementation. GLWindow can no more query 'getSurfaceHandle()' to verify if 'setRealized()' was successful. NEWT: Window surface lock is recursive and blocking now, as it shall be.
* Fix On-/Offscreen and PBuffer.Sven Gothel2009-10-051-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Demos are working again: demos.jrefract.JRefract - X11, Win32, OSX -Dsun.java2d.opengl=true demos.jrefract.JRefract - X11, Win32 demos.readbuffer.Main [-GL2,-GL2ES1] -test 0 demos.es1.RedSquare - X11, Win32, OSX, EGL demos.readbuffer.Main [-GL2,-GL2ES1] -test [12] demos.es1.RedSquare - X11, Win32 - OSX not, because of the missing feature of attaching a read surface. - EGL not, because the emulation I used didn't support attaching a read surface. Emulation bug .. probably .. MacOSXWindowSystemInterface.m createContext(): - Verify if passed surface handle _is_ a view, now it could be a pbuffer etc .. handle as well. Cleanup GLDrawableImpl.setRealized(boolean realized) - Calls setRealizedImpl() (implementation) now, and only if new stated differs .. - setRealizedImpl() fixed for: MacOSXPbufferCGLDrawable: recreate/destroy WindowsOffscreenWGLDrawable: recreate/destroy WindowsPbufferWGLDrawable: no-recreate/destroy X11OffscreenGLXDrawable: recreate/destroy X11PbufferGLXDrawable: recreate/destroy WindowsWGLContext: - wglMakeContextCurrent(): uses isFunctionAvailable .. - create(): Uses WGL.MakeCurrent() and releases the created context, due to unavailable MakeContextCurrent extensions before updating the procaddress tables.
* GLDrawableFactory Cleanup (-> On- Offscreen and PBuffer)Sven Gothel2009-10-052-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | - Base all PBuffer/Offscreen GLDrawable creators on a prev. created 'NativeWindow + SurfaceChangeable' instance. Simplifies implementation path. This also removes the almost cyclic referencing of GLWindow -> OffscreenWindow GLWindow -> Drawable -> NullWindow -> OffscreenWindow Now it is just GLWindow -> OffscreenWindow GLWindow -> Drawable -> OffscreenWindow - createGLDrawable() shall be used for all types now, especially if you want to pass the offscreen NativeWindow and benefit from the surfaceChangedListener etc .. - Add public createOffscreenDrawable(..) - EGLDrawable: - Query surface only if not 0 - [re]create surface only if needed, using 'ownEGL*' flag for destruction only.
* Fix Config: Set doublebuffer:=false if offscreen; NEWT: Fix KDWindow.Sven Gothel2009-10-041-1/+1
|
* NativeWindow extends SurfaceUpdatedListener for 'surfaceUpdated' ↵Sven Gothel2009-10-033-54/+17
| | | | propagation. GLDrawableFactory.createGLDrawable() propagates NativeWindow to offscreen NullWindow.
* surfaceupdated:: NativeWindow: passing 'updater'; NEWT: adding event listenerSven Gothel2009-10-034-14/+105
|
* Offscreen/PBuffer capabilities cleanup ; Generic read drawable supportSven Gothel2009-10-031-0/+7
|
* NEWT: Offscreen integrationSven Gothel2009-10-022-1/+95
|
* NEWT Intel GDL: Proper Pos/Size/FullscreenSven Gothel2009-10-022-23/+112
|
* NEWT Intel GDL: Surface Size tuning .. ; Add missing getSurfaceHandle()Sven Gothel2009-10-022-12/+25
|
* NativeWindowFactory:Sven Gothel2009-10-0212-76/+733
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - If property 'nativewindow.ws.name' is set, use it as the custom windowing type returned by getNativeWindowType(true) NEWT: - Using NativeWindowFactory's property 'nativewindow.ws.name' as a package name for custom NEWT windowing imlementations, ie: -Dnativewindow.ws.name=com.sun.javafx.newt.intel.gdl -Dnativewindow.ws.name=com.sun.javafx.newt.broadcom.egl This allows far more flexibility to add custom impl. - Add Intel-GDL, define property 'useIntelGDL' to build the native part. Intel GDL is impl in the package 'com.sun.javafx.newt.intel.gdl' JOGL: - All impl. of 'createGLDrawable(..)', which were actually creating onscreen drawable only, were renamed to 'createOnscreenDrawable(..)'. - GLDrawableFactoryImpl impl. 'createGLDrawable(..)' now and dispatches to the actual create* methods in respect to the Capabilities, ie onscreen, pbuffer and offscreen. - GLDrawableFactory: - If using a native ES profile -> EGLDrawableFactory - If existing native OS factory -> Use that .. - Else -> Use EGLDrawableFactory, if available
* NEWT: Fix X11 ConfigureEvent ; X11Window don't propagate pos change if parentedSven Gothel2009-09-292-36/+57
|
* NEWT AWT: Use size/pos from external frameSven Gothel2009-09-141-0/+4
|
* NEWT: More elegant custom constructor type verification and setting by ↵Sven Gothel2009-09-142-34/+107
| | | | Window class impl. ; AWTWindow allow pure Container in cstr, ie an Applet
* Newt.AWT: avoid npeSven Gothel2009-09-131-2/+4
|
* NEWT: remove redundant test codeSven Gothel2009-09-131-3/+0
|
* NEWT: native parenting Win32 OKSven Gothel2009-09-132-43/+88
|
* Newt: MacOSX child clipping tests (failed)Sven Gothel2009-09-123-6/+25
|
* Newt: native window parenting MacOSX: OK (but parent clipping is missing) ; ↵Sven Gothel2009-09-126-54/+101
| | | | X11: windowResize event handled
* NEWT: Native window parenting (X11: OK); AWTWindow external Frame OKSven Gothel2009-09-125-29/+81
|
* NEWT: Basic/Naive window parenting support ; NEWT GLWindow: remove ambigous ↵Sven Gothel2009-09-1212-49/+73
| | | | create functions, ie with Window and Capabilities arguments
* newt: mac os mouse wheel event support, also made it more consistent with ↵trembovetski2009-08-252-3/+54
| | | | windows
* newt: one more attempt to commit insets-related changestrembovetski2009-08-208-14/+262
|
* newt: additional insets support for GL and AWT Windowtrembovetski2009-08-202-1/+23
|
* newt: added support for window insets. Only implemented for Windows and MacOS.trembovetski2009-08-201-0/+96
| | | | | Also clarified the meaning of setSize/getWidth/getHeight - they are assumed to be the size of the client area, excluding decorations.
* newt: added expose/paint event notification needed for passive rendering. ↵trembovetski2009-08-144-1/+177
| | | | Currently only implemented on Windows.
* Oops: Accidently removed AWT Display selection in NEWTSven Gothel2009-08-011-0/+2
|
* GL3 Related:Sven Gothel2009-08-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix glGetStringi's return type to String - Fix ExtensionAvailabilityCache: GL3's glGetStringi for GL_EXTENSIONS Ensure to add GL_VERSION_2_0 in case version >= 3.0 Ensure to not exceed version 3.0 for non GL3.1 context. In case of GL 3.1, do not include GL_VERSIONS below 3.0, since this is a forward compatible context. - Add Prologue to glGetString, where the ExtensionCache is being used for GL_EXTENSIONS - if already initialized. This feature adds backward compatibility for GL3 context on GL_EXTENSION. +++ General: Add GLPipelineFactory, a convenient pipeline factory for Debug/Trace and custom ones .. Change 'void setGL(GL)' to 'GL setGL(GL)', and let it return the successful set GL, or null.
* Gluegen:Sven Gothel2009-07-311-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | - Fix array element type name and const qualifier JOGL: - GL3: Set ArgumentIsString for GL3.1 methods - JAR file creation: Add 'filesonly' option - GLU: Static check of available impl., better fallback for GL2 without GLUgl2. - WGL: (Performance + Java2D/GL FBO works again) - Refactor WGL_ARB_pixel_format's HDC -> GLCapabilities: HDC2Caps - Revert change where we always create a dummy drawable/context for WGL selection (HDC2Caps). In case of no multisampling, use PFD2Caps only. - Update config using HDC2Caps (WGL_ARB_pixel_format) after context creation, if not done already -> updateCapabilitiesByWGL(). - profile.jogl: Add debug jars
* Fix: Check if windowHandle is already createdsg2158892009-07-303-20/+26
|
* BroadcomEGL: No relase-ctx, no destroy-ctx - FIXMEsg2158892009-07-291-4/+5
|
* Add BroadcomEGL verbose messagessg2158892009-07-292-6/+21
|
* Fix: doxygen-all-pub.cfg; Add NativeWindow: surfaceSwap() and ↵sg2158892009-07-294-6/+43
| | | | surfaceUpdated(); BroadcomEGL: Use custom surfaceSwap(); GLDrawableImpl's: Utilize NativeWindow's surfaceSwap() and surfaceUpdated(); Fix common enum of GL2ES1 and GL2GL3, merge them in GL
* Fixed GL* documentation. Moved common GL functions to GLBase. Moved ↵sg2158892009-07-291-1/+5
| | | | glAllocateMemoryNV to GL2GL3 only. Add GL2GL3 interface. Fix some GL2 signatures. BroadcomEGL disable custom setSize().
* NEWT: Remove loading of non-existing nativewindow lib; BroadcomEGL: use ↵sg2158892009-07-282-3/+10
| | | | libEGL(EglUtil) and libGLES_CM(nexus), setSize to screen-size on creation, more debug output
* Cleanup ..sg2158892009-07-282-1/+4
|