Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | GraphUI Button.setLabelColor(..): Add alpha channel and variant w/ Vec4f for ↵ | Sven Göthel | 2024-01-07 | 5 | -8/+18 |
| | | | | flexibility | ||||
* | GraphUI Shape: Ease Tooltip managment via Scene: Only started Tooltip is ↵ | Sven Göthel | 2024-01-07 | 3 | -22/+15 |
| | | | | required to tick(), drop List<Tooltip> | ||||
* | GraphUI Shape: Enable Tooltip (currently text only) to be displayed after ↵ | Sven Göthel | 2024-01-07 | 6 | -8/+291 |
| | | | | | | | | | | | | | | | delay w/o mouse-move (1s) For efficiency, all Tooltip instances is hooked to Scene via Shape as well as its singleton pop-up HUD tip after delay and no mouse move. TooltipText is a simple text Button implementation, but other more fancy HUD tips can be implemented. Shape adds - 'public Tooltip setToolTip(final CharSequence text, final Font font, final float scaleY, final Scene scene)' Demoed within MediaPlayer widget. | ||||
* | GraphUI RangeSlider.addMark(): Return the mark-shape and use double itemLen ↵ | Sven Göthel | 2024-01-07 | 1 | -10/+21 |
| | | | | (in sliding direction) for better visibility | ||||
* | GraphUI MediaPlayer / GLMediaPlayer: Add current chapter-title to info-field | Sven Göthel | 2024-01-07 | 5 | -7/+30 |
| | |||||
* | GraphUI Shape: Maintain multiple Activation Listener (ArrayList instead of ↵ | Sven Göthel | 2024-01-07 | 3 | -13/+40 |
| | | | | | | | single instance) This allows listenting to activation of Group members, while Group is set to widget-mode. For the latter, Group adds a forward listener to itself. | ||||
* | GraphUI Cleanup: Simplify Shape.draw*() and ↵ | Sven Göthel | 2024-01-07 | 8 | -154/+144 |
| | | | | | | | | | | | | | Container.{add,remove*}Shape[s](); Remove Scene.setDebugBorderBox() Simplify Shape/Scene - Split scene.display()/shape.drawImpl0() and scene.displayGLSelect()/shape.drawToSelectImpl0() Simplify Container (Scene/Group) - {add,remove*}Shape[s](), i.e. drop unusual removeShape*() and simplify implementation Scene - Remove setDebugBorderBox() | ||||
* | GraphUI RangeSlider: Add rectangular marks (e.g. for chapters, see ↵ | Sven Gothel | 2023-12-31 | 3 | -54/+89 |
| | | | | | | MediaPlayer), by simply overlay marks on bar Knob color defaults to 0.80f, 0.80f, 0.80f, 0.7f, i.e. light-mode better matching MediaPlayer use-case. | ||||
* | GraphUI Group: Fix layout w/ zero shapes (empty), i.e. set AABBox to zero | Sven Gothel | 2023-12-31 | 1 | -1/+3 |
| | |||||
* | GraphUI MediaButton: Add clearImpl(..), stopping and rewinding stream | Sven Gothel | 2023-12-30 | 1 | -0/+5 |
| | |||||
* | GLMediaPlayer/FFMPEGMediaPlayer: Add chapter metadata support and use ↵ | Sven Gothel | 2023-12-30 | 10 | -55/+184 |
| | | | | | | | | com.jogamp.common.av.PTS.millisToTimeStr(..) Chapter metadata is now supported via our FFMPEGMediaPlayer implementation. Added public method: 'Chapters[] GLMediaPlayer.getChapters()' | ||||
* | GraphUI RangeSlider Widget: Add rectangular page-sized knob mode using a ↵ | Sven Gothel | 2023-12-24 | 4 | -182/+416 |
| | | | | | | 'page size' of covered view. Resolve color-setup. Tested with FontView01 | ||||
* | GraphUI MediaPlayer Widget: Issue playStream(..) and setTextureUnit(..) by ↵ | Sven Gothel | 2023-12-24 | 3 | -14/+8 |
| | | | | caller, reducing specification | ||||
* | GraphUI Shape: Allow overriding of setColor(..) and setPressedColorMod(..) | Sven Gothel | 2023-12-24 | 1 | -3/+3 |
| | |||||
* | GraphUI Scene/Shape: Add KeyListener for activeShape | Sven Gothel | 2023-12-24 | 2 | -6/+98 |
| | |||||
* | Bug 805: GraphUI: Add Widget 'marker' (a Group), derived by {MediaUI01 -> ↵ | Sven Gothel | 2023-12-19 | 5 | -124/+487 |
| | | | | | | | | | | | | | MediaPlayer} and new RangeSlider - A widget specifies specific UI semantics including individual controls. - Being a {@link Group}, implementations provide shape(s) and its instance can be added to the user's scene. - Due to the specific nature of widgets, individual controls/listener may be provided with semantic values. +++ MediaPlayer exposes a RangeSlider for current position (view and control). | ||||
* | GraphUI Shape Rectangle: Draw simple filled rect if lineWidth==0, drop ↵ | Sven Gothel | 2023-12-19 | 1 | -7/+8 |
| | | | | AA_RENDERING_MASK from renderModes (not necessary for a rect) | ||||
* | GraphUI Group: Allow override of clearImpl0() and destroyImpl0() | Sven Gothel | 2023-12-19 | 1 | -5/+5 |
| | |||||
* | GraphUI Shape: Unify 'resetState()' for clear and destroy, refine API doc | Sven Gothel | 2023-12-19 | 1 | -16/+22 |
| | |||||
* | GraphUI Shape: setParent() pp -> protected, allow to override setName() | Sven Gothel | 2023-12-19 | 1 | -6/+6 |
| | |||||
* | GraphUI Shape.move*(): Don't notify MotionListener on programmatic move. | Sven Gothel | 2023-12-19 | 1 | -11/+16 |
| | |||||
* | UIMediaGrid0{01}: Minor cleanup: Drop unused local Font | Sven Gothel | 2023-12-18 | 2 | -12/+4 |
| | |||||
* | OMXGLMediaPlayer: Add 'printNativeInfo(..)' - completes commit ↵ | Sven Gothel | 2023-12-18 | 1 | -0/+6 |
| | | | | d99c2d8b28470d335ab5b30124ef8b0607b3b90f | ||||
* | GLMediaPlayer: TEXTURE_COUNT_DEFAULT 4 -> 3 as tested via UIMediaGrid01, ↵ | Sven Gothel | 2023-12-18 | 1 | -1/+1 |
| | | | | usable w/ fix for Bug 1472 (Enhance A/V Sync) | ||||
* | Bug 805: GraphUI: Add MediaUI01 widtget (MediaButton w/ full feature ↵ | Sven Gothel | 2023-12-18 | 5 | -129/+673 |
| | | | | controls), used in demos UIMediaGrid0[01] | ||||
* | Bug 805: GraphUI: Add Group.replaceShape(..) and Shape.getParent() | Sven Gothel | 2023-12-18 | 3 | -2/+42 |
| | | | | | | | | Group.replaceShape(..) allows replacing a shape w/o disturbing a layout, e.g. to zoom one element by taking it out of a grid-group and placing it on-top of the Scene while using a placeholder in the grid until returned. Shape.getParent() - depending on use-case (w/o DAG) - allows access and control of a shape's Group. | ||||
* | GLMediaPlayer: Add printNativeInfo(..) exposing used native library ↵ | Sven Gothel | 2023-12-18 | 6 | -38/+90 |
| | | | | information (if any), FFMPEG* utilizes NativeLibrary.get[Native]LibraryPath() | ||||
* | Bug 805: GraphUI Scene/Shape Pick-Active/Interaction: Pick shall complete ↵ | Sven Gothel | 2023-12-18 | 2 | -142/+156 |
| | | | | | | | | | | | | | | | | traversion for most inner interactive shape; ... Pick shall complete traversion for most inner interactive shape - Shape::dispatchMouseEvent() is only invoked for interactive shapes, impl. simplified. - Remove 'Scene::dispatchMouseEvent(..)', use 'Scene::dispatchMouseEventPickShape(..)' for given use cases - Scene::dispatchMouseEventForShape(..) used for mouseDragged() only, i.e. using activeShape. +++ This allows a 'group widget' being used, allowing to click on inner shapes like a button. | ||||
* | Bug 805: GraphUI Group: Add 'widget-mode' used to utilize a group as one ↵ | Sven Gothel | 2023-12-18 | 2 | -2/+66 |
| | | | | | | | | | visible UI widget element (activation, visibility) Enabled widget behavior for a group causes - the whole group to be shown on top on (mouse over) activation of one of its elements via getAdjustedZ() - this group's onActivation(Listener) to handle all it's elements activation events - isActive() of this group and its sub-groups to return true if one of its elements is active | ||||
* | GraphUI Shape: Fix Z{Ascending,Descending}Comparator using and exposing ↵ | Sven Gothel | 2023-12-18 | 1 | -16/+31 |
| | | | | | | | getAdjustedZ() getAdjustedZ() simply returns `position.z() * getScale().z() + zOffset`, i.e. with added zOffset reflecting activation status (renders shape/group on top). | ||||
* | Graph Shader: Fix 'curverenderer01-single.vp' aligning w/ ↵ | Sven Gothel | 2023-12-18 | 1 | -2/+3 |
| | | | | 'curverenderer01-pass1.vp' (commit 297c48f4fefd1ab59800524ea5f0dd56684d6786) | ||||
* | GraphUI Container: Cleanup or Group/Scene add*/remove* methods | Sven Gothel | 2023-12-18 | 2 | -17/+55 |
| | |||||
* | GraphUI Shape: Rename is{Container -> Group}(), denoting a group only | Sven Gothel | 2023-12-18 | 2 | -3/+3 |
| | |||||
* | Graph Region: Edit API doc for AA_RENDERING_MASK | Sven Gothel | 2023-12-18 | 1 | -1/+1 |
| | |||||
* | GraphUI Padding, Margin, Gap: Use zero value constant None instead of ↵ | Sven Gothel | 2023-12-18 | 7 | -22/+22 |
| | | | | default ctor | ||||
* | GraphUI Alignment: Use Alignment.None instead of default ctor. | Sven Gothel | 2023-12-18 | 2 | -7/+7 |
| | |||||
* | GraphUI UISceneDemo20: Only use ALAudioSink if its context is already ↵ | Sven Gothel | 2023-12-18 | 1 | -5/+9 |
| | | | | created (ready) | ||||
* | GraphUI MediaButton: Disable AA_RENDERING_MASK for GLMediaPlayer color ↵ | Sven Gothel | 2023-12-18 | 1 | -1/+2 |
| | | | | | | | | | texture (effiency, less artifacts) 2-pass Graph-AA is not desired for video textures to enhance efficiency and reduce artifacts. Consider using 'mPlayer.setTextureMinMagFilter( new int[] { GL.GL_LINEAR, GL.GL_LINEAR } )' of passed GLMediaPlayer instance to use bilinear filtering for different sizes. | ||||
* | MovieSBSStereo: GLMediaPlayer.setTextureMinMagFilter() must be called before ↵ | Sven Gothel | 2023-12-18 | 1 | -1/+1 |
| | | | | initialization | ||||
* | GraphUI Shape: Rename [set|is]{Enabled -> Visible}(..) for clarity | Sven Gothel | 2023-12-18 | 8 | -26/+32 |
| | | | | | Note that invisible shapes are still considered for picking/activation. To completely mute the shape, issue {@link #setInteractive(boolean)} as well. | ||||
* | GraphUI Shape/Group: Group.isActive() also returns true if any child is ↵ | Sven Gothel | 2023-12-12 | 2 | -1/+12 |
| | | | | active; Add isContainer() to avoid rfeflection | ||||
* | GraphUI Shape: Use Shape.MoveListener for Shape.onMove(..) providing more ↵ | Sven Gothel | 2023-12-12 | 3 | -28/+34 |
| | | | | details of the translation | ||||
* | GraphUI Shape: Add IO_ACTIVABLE state | Sven Gothel | 2023-12-12 | 1 | -17/+38 |
| | |||||
* | GraphUI Shape: Simplify setIO(..) usage (private) | Sven Gothel | 2023-12-12 | 1 | -7/+7 |
| | |||||
* | GraphUI Scene: Allow attaching GLAutoDrawable manually and adding ↵ | Sven Gothel | 2023-12-04 | 1 | -2/+26 |
| | | | | GLEventListener (API) | ||||
* | FFMpeg: Just be nice and flush GL stream, no finish sync required | Sven Gothel | 2023-12-04 | 1 | -2/+8 |
| | |||||
* | FFMpeg: Fix and clarify 'resend package' and 'continue draining frames' states | Sven Gothel | 2023-12-04 | 1 | -21/+30 |
| | |||||
* | Bug 1479 - NativeLibrary: Add getNativeLibraryPath() returning actual native ↵ | Sven Gothel | 2023-11-26 | 5 | -5/+20 |
| | | | | library path, support throughout DynamicLibraryBundle[Info] | ||||
* | GLMediaPlayer.getPerfString(): Don't show audio pts values is no_audio, ↵ | Sven Gothel | 2023-10-16 | 1 | -17/+19 |
| | | | | misleading and wrong info (e.g. on mute) | ||||
* | GLMediaPlayer: Don't resetAVPTS() on resume(), allowing less AV sync ↵ | Sven Gothel | 2023-10-16 | 1 | -13/+10 |
| | | | | disruption after pause(flush:=false) |