Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Graph Font Processing: Use Font.GlyphVisitor instead of ↵ | Sven Gothel | 2023-03-22 | 1 | -3/+8 |
| | | | | OutlineShape.Visitor, allowing to use the Glyph (information). | ||||
* | GraphUI Shape: Make access private where possible & reasonable, synchronize ↵ | Sven Gothel | 2023-03-22 | 6 | -42/+55 |
| | | | | dirty and in draw(..) the whole dirty-validate() region.draw() | ||||
* | GraphUI Scene: getStatusText(..) drop unset values, be more semantic ↵ | Sven Gothel | 2023-03-22 | 1 | -5/+19 |
| | | | | sensitive (msaa -> smsaa) | ||||
* | GraphUI Scene: Add removeShape*(GL2ES2..) variant w/ their destruction for ↵ | Sven Gothel | 2023-03-22 | 1 | -4/+18 |
| | | | | convenience | ||||
* | GraphUI Scene: Add optional frustum culling (default: disabled) | Sven Gothel | 2023-03-22 | 1 | -13/+23 |
| | |||||
* | GraphUI Shape.setTransform(): Remove 'wiggling' w/ origin, text issue came ↵ | Sven Gothel | 2023-03-21 | 1 | -12/+4 |
| | | | | | | from Scene.PMVMatrixSetup bug, all shapes resize fine now. Scene.PMVMatrixSetup bug missed modelview initialition before gluUnProject(), fixed in commit 74e11bd9a49f61e49d3c73c4f9b87b4fb7fbaaf3. | ||||
* | GraphUI: Fix Scene.PMVMatrixSetup impl: Setup modelview before using ↵ | Sven Gothel | 2023-03-21 | 1 | -2/+4 |
| | | | | setPlanBox(..)'s gluUnProject(..) | ||||
* | GraphUI Scene: Move reshape() below init from in-between display() impls | Sven Gothel | 2023-03-21 | 1 | -19/+19 |
| | |||||
* | Graph: Cleanup Vertex.Factory referencing: Only bind to OutlineShape and use ↵ | Sven Gothel | 2023-03-21 | 11 | -66/+36 |
| | | | | | | | its default. GraphUI: Always use default. Graph RegionRenderer, its RenderState as well as GraphUI's Scene don't need to have knowledge of Vertex.Factory, which is only used within OutlineShape and its 'inner geom workings'. | ||||
* | GraphUI Shape/Label: Allow validate(..) w/o current GL context, used by e.g. ↵ | Sven Gothel | 2023-03-20 | 2 | -13/+76 |
| | | | | | | Label.setText(..) and getBounds(), preparations for more animation. Hence Shape.validate(..) is now synchronized, avoiding parallel resource modding from render- and other animating thread. | ||||
* | GraphUI Shape: Provide empty default implementation for clearImpl() and ↵ | Sven Gothel | 2023-03-20 | 5 | -34/+4 |
| | | | | destroyImpl() | ||||
* | GraphUI Scene: Add getDefaultVertexFactory(), fix getRenderState() API doc ↵ | Sven Gothel | 2023-03-20 | 1 | -2/+6 |
| | | | | (can't be null) | ||||
* | GraphUI Label: Fix naming semantics: 'pixelScale' -> 'fontScale', i.e. ↵ | Sven Gothel | 2023-03-20 | 1 | -13/+33 |
| | | | | font-scale factor, by which the em-sized type glyphs shall be scaled | ||||
* | GraphUI Scene: Add [add|remove]Shapes(Collection) .. for convenience | Sven Gothel | 2023-03-20 | 1 | -0/+7 |
| | |||||
* | GraphUI Shape.setTransform(): Fix center semantics (half size) and consider ↵ | Sven Gothel | 2023-03-20 | 1 | -3/+18 |
| | | | | origin (resolves multi-line text resize issues) | ||||
* | GraphUI Scene: Move GLEventListener implementations reshape() and dispose() ↵ | Sven Gothel | 2023-03-20 | 1 | -48/+48 |
| | | | | to the others, init(), display(). Ease review. | ||||
* | GraphUI MediaButton: Only mark region dirty if already exists | Sven Gothel | 2023-03-20 | 1 | -1/+3 |
| | |||||
* | GraphUI Default Scene.PMVMatrixSetup: Scale (back) projection to have ↵ | Sven Gothel | 2023-03-20 | 1 | -12/+38 |
| | | | | normalized plane dimensions, 1 for the greater of width and height | ||||
* | GraphUI Scene: Be quiet | Sven Gothel | 2023-03-20 | 1 | -2/+0 |
| | |||||
* | GraphUI GLButton: Add missing destroyImpl(..) to destroy the ImageSequence ↵ | Sven Gothel | 2023-03-20 | 1 | -0/+6 |
| | | | | and FBO-GLAD | ||||
* | GraphUI: Add UISceneDemo00 for linear animation in one main function; ↵ | Sven Gothel | 2023-03-19 | 1 | -0/+67 |
| | | | | UISceneDemo01 simply provides shape drag-move and -resize | ||||
* | GraphUI Shape win<->obj/shape mapping: Return actual int[] or float[] result ↵ | Sven Gothel | 2023-03-19 | 4 | -45/+105 |
| | | | | or null on error instead of boolean to easy API usage | ||||
* | Graph UI Shape: Remove debug println @ mouse drag release | Sven Gothel | 2023-03-19 | 1 | -1/+0 |
| | |||||
* | Graph UI: Apply API changes to demos *WIP* (not all working yet, but compile ↵ | Sven Gothel | 2023-03-19 | 1 | -1/+1 |
| | | | | clean) | ||||
* | Graph UI: Adopt Shape implementations to Shape API changes (simplification) | Sven Gothel | 2023-03-19 | 9 | -34/+28 |
| | |||||
* | Graph UI Shape: Fix move and resize via 1-pointer mouse drag: Need to apply ↵ | Sven Gothel | 2023-03-19 | 1 | -32/+33 |
| | | | | | | scale on drag-delta, operating on scaled-model-viewpoint Further, on resize, we have different sticky edges for either bottom-right or bottom-left drag resize. | ||||
* | Graph UI Shape: Fix setTransform(): Take back unscaled-center 1st, then add ↵ | Sven Gothel | 2023-03-19 | 1 | -2/+4 |
| | | | | back later (scaled); TODO: Add alignment features | ||||
* | Graph Shape: Add onMove(Shape.Listener), allowing user to track Shape movement | Sven Gothel | 2023-03-19 | 1 | -2/+15 |
| | |||||
* | Add Scene.PMVMatrixSetup for programmable PMVMatrix setup in Scene replacing ↵ | Sven Gothel | 2023-03-19 | 2 | -280/+301 |
| | | | | | | | | | | | | | | | | | | | fixed projection params; Simplify API requirements .. Scene: - Add Scene.PMVMatrixSetup and use it throughout Scene/Shape for reshape(), setupMatrix() and Shape's win<->obj coordinate mappings. - Default Scene.PMVMatrixSetup is no more moving origin to bottom-left, kept at screen-center. - Add waitUntilDisplayer(), allowing to wait until 1st display is completed, ensuring certain states are well set (init, reshape and 1st display on Shapes, plane-box, ..) Shape: - Rename setPosition() -> moveTo() - Add getBounds(GLProfile) to retrieve AABBox before rendering, - Enhance validateImpl(..) to allow this mode @ initial validation (only) | ||||
* | Graph Scene: RegionRenderer is owned and never null | Sven Gothel | 2023-03-19 | 1 | -18/+6 |
| | |||||
* | Graph Shape: Add missing drawGLSelect(..) | Sven Gothel | 2023-03-19 | 1 | -0/+5 |
| | |||||
* | Graph Shape: Mark methods final and enhance API doc | Sven Gothel | 2023-03-19 | 1 | -28/+55 |
| | |||||
* | Graph Scene: Customize clearColor + clearMask used @ display(..), i.e. ↵ | Sven Gothel | 2023-03-19 | 1 | -3/+35 |
| | | | | either use custom setting or avoid it at all for seamless client renderer integration | ||||
* | Graph: Scene: Add experimental pickShapeGL(..), i.e. glSelect (Not working ↵ | Sven Gothel | 2023-03-19 | 1 | -10/+117 |
| | | | | correctly with all renderModes yet, inactive; Not good on text) | ||||
* | Graph: Make RenderState a composition of RegionRenderer, which also creates ↵ | Sven Gothel | 2023-03-15 | 1 | -2/+1 |
| | | | | and destroys it. Dropping this also from user (complexity). | ||||
* | GraphUI: Scene/Shape: Decouple PMVMatrix operations (picking, obj<->win) by ↵ | Sven Gothel | 2023-03-15 | 3 | -111/+149 |
| | | | | | | | | using a local instance, enable performing on any thread (not using a blocking GL renderer thread) Shape got 2 win<->obj and size-retrieval variants: (a) using given PMVMatrix and viewport (b) using a local PMVMatrix w/ Scene's viewport and using Scene's setupMatrix() | ||||
* | GLMediaPlayer usage: Fix verbose strings, disable verbose in GraphUI demos | Sven Gothel | 2023-03-15 | 1 | -2/+2 |
| | |||||
* | Graph: Have RegionRenderer.reshapeNotify(..) track x/y as well (vieport); ↵ | Sven Gothel | 2023-03-14 | 2 | -55/+121 |
| | | | | GraphUI.Scene using RegionRenderer's viewport (no duplicate) | ||||
* | GraphUI: Label: Rename pixelSize -> pixelScale, since we are view-based or ↵ | Sven Gothel | 2023-03-14 | 1 | -9/+10 |
| | | | | in model-space. | ||||
* | GraphUI: MediaButton: No need to re-create GLRegion (anymore), just ↵ | Sven Gothel | 2023-03-14 | 1 | -5/+1 |
| | | | | markShapeDirty() to force reupload of texture-coordinates; Also don't mute audio, user shall configure the GLMediaPlayer... | ||||
* | GraphUI: Button: Allow user to configure 2-pass label z-offset | Sven Gothel | 2023-03-14 | 1 | -2/+10 |
| | |||||
* | GraphUI: GLButton: Don't pass FBO size @ ctor, calculate true view-size @ ↵ | Sven Gothel | 2023-03-14 | 1 | -4/+11 |
| | | | | 1st draw | ||||
* | GraphUI: Scene: Add simplified ctor w/ user defined zNear, zFar and ↵ | Sven Gothel | 2023-03-14 | 2 | -54/+191 |
| | | | | sceneDistance; Expose the scene-plane AABBox and add surfaceToObjSize() to compute surface-size in object coords. | ||||
* | GraphUI: MediaButton: Adapt GLMediaPlayer changes: Ready right away and ↵ | Sven Gothel | 2023-03-13 | 1 | -9/+12 |
| | | | | reset on Init: GLMediaPlayer.initGL() + recreate GLRegion | ||||
* | GraphUI: Cleanup 1-pointer zoom, add generic PinchToZoom-Gesture for ↵ | Sven Gothel | 2023-03-13 | 2 | -48/+88 |
| | | | | 2-pointer zoom; Scene: Align method names.. | ||||
* | GraphUI: Use pre-calc'ing buffer sizes for Label shape | Sven Gothel | 2023-03-13 | 1 | -0/+7 |
| | |||||
* | GLMediaPlayer: Overhaul and simplify states, allow usage before stream ready ↵ | Sven Gothel | 2023-03-13 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | showing test-texture. Adding stop(); (API Change) - allow multiple initGL(..) @ uninitialized and initialized - allows usage before stream is ready - using a test-texture @ uninitialized - adding stop() API change - initStream() -> playStream() - play() -> resume() FFMPEG: Added 'ready' check for robustness | ||||
* | GraphUI: Shape: Add build-in resize w/ 1-pointer-click and drag in 1/4th ↵ | Sven Gothel | 2023-03-11 | 2 | -45/+121 |
| | | | | bottom-left or bottom-right corner. Rename translate -> position. | ||||
* | GraphUI: Add package.html (dummy) | Sven Gothel | 2023-03-10 | 1 | -0/+33 |
| | |||||
* | GraphUI: Promote API to JOGL via graphui.jar or within any jogl-all*.jar (WIP) | Sven Gothel | 2023-03-10 | 11 | -0/+2590 |
Root package is 'com.jogamp.graph.ui.gl', i.e. a sub-package of Graph denoting UI and OpenGL usage. Implementation will stay small, hence relative files size costs are minimal. Source and build is in parallel to nativewindow, jogl and newt and has a dependency to all of them. The NEWT dependencies are merely the input listener .. |