Support Forum G3D Web Page |
Inherits G3D::GuiContainer.
Public Types | |
enum | { CONTROL_HEIGHT = 25 } |
enum | { CONTROL_WIDTH = 215 } |
enum | { BUTTON_WIDTH = 80 } |
enum | { TOOL_BUTTON_WIDTH = 50 } |
enum | { CONTROL_PADDING = 4 } |
Public Member Functions | |
GuiTextureBox (GuiContainer *parent, const GuiText &caption, GApp *app, const shared_ptr< Texture > &t=shared_ptr< Texture >(), bool embeddedMode=false, bool drawInverted=false) | |
In most cases, you'll want to call GuiPane::addTextureBox instead. More... | |
virtual | ~GuiTextureBox () |
const GuiText & | caption () const |
float | captionHeight () const |
For controls that have a caption outside the bounds of the control on the top or bottom, this is the size reserved for the caption. More... | |
float | captionWidth () const |
For controls that have a caption outside the bounds of the control on the left, this is the size reserved for the caption. More... | |
const Rect2D & | clickRect () const |
Used by GuiContainers. More... | |
const Rect2D & | clientRect () const |
Client rect bounds, relative to the parent (or window if there is no parent). More... | |
virtual float | defaultCaptionHeight () const |
Default caption size for this control. More... | |
virtual float | defaultCaptionWidth () const |
bool | enabled () const |
virtual void | findControlUnderMouse (Vector2 mouse, GuiControl *&control) override |
Return the enabled, visible control containing the mouse. More... | |
bool | focused () const |
Vector2 | fromOSWindowCoords (const Vector2 &v) const |
Transforms v from OS window coordinates to this control's coordinates. More... | |
virtual void | increaseBounds (const Vector2 &extent) |
Updates this container to ensure that its client rect is least as wide and high as the specified extent, then recursively calls increaseBounds on its parent. More... | |
bool | mouseOver () const |
void | moveBy (const Vector2 &delta) |
void | moveBy (float dx, float dy) |
void | moveRightOf (const GuiControl *control, const Vector2 &offset) |
If these two controls have the same parent, move this one immediately to the right of the argument. More... | |
void | moveRightOf (const GuiControl *control, float offsetX=0.0f) |
bool | movieRecording () const |
True if movie recording. More... | |
virtual bool | onChildControlEvent (const GEvent &event) |
Invoked immediately (i.e., outside of the queue sequence) when a child fires an event through Widget::fireEvent. More... | |
virtual bool | onEvent (const GEvent &event) override |
Events are only delivered (by GuiWindow) to a GuiControl when the control has the key focus. More... | |
void | rawSave () |
Brings up the modal save dialog to save the underlying data. More... | |
const Rect2D & | rect () const |
virtual void | render (RenderDevice *rd, const shared_ptr< GuiTheme > &theme, bool ancestorsEnabled) const override |
Only methods on theme may be called from this method by default. More... | |
void | save () |
Brings up the modal save dialog to save an image with post-processing. More... | |
virtual void | setCaption (const GuiText &text) override |
virtual void | setCaptionHeight (float c) |
virtual void | setCaptionWidth (float c) |
virtual void | setEnabled (bool e) |
void | setEventSource (GuiControl *c) |
void | setFocused (bool b) |
Grab or release keyboard focus. More... | |
void | setHeight (float h) |
void | setInverted (const bool inverted) |
Set m_drawInverted. More... | |
void | setMovieRecording (bool b) |
Start/stop movie recording. More... | |
void | setPosition (const Vector2 &v) |
void | setPosition (float x, float y) |
virtual void | setRect (const Rect2D &rect) override |
If you explicitly change the rectangle of a control, the containing pane may clip its borders. More... | |
void | setSettings (const Texture::Visualization &s) |
void | setShaderArgs (UniformTable &args) |
void | setShowInfo (bool b) |
Controls the display of (x,y)=rgba when the mouse is over the box. More... | |
void | setSize (const Vector2 &v) |
void | setSize (float x, float y) |
void | setSizeFromInterior (const Vector2 &dims) |
Sizes the control so that exactly dims of viewing space is available. More... | |
void | setTexture (const shared_ptr< Texture > &t) |
If the texture was previously nullptr, also invokes zoomToFit() More... | |
void | setTexture (const shared_ptr< Texture > &t, bool drawInverted) |
const Texture::Visualization & | settings () const |
void | setViewOffset (const Vector2 &x) |
void | setViewZoom (float z) |
void | setVisible (bool b) |
void | setWidth (float w) |
bool | showInfo () const |
void | showInspector () |
Starts the inspector window. More... | |
const shared_ptr< Texture > & | texture () const |
shared_ptr< GuiTheme > | theme () const |
void | toggleDrawer () |
Invoked by the drawer button. More... | |
virtual bool | toolStyle () const |
Return true if this is in tool button style. More... | |
Vector2 | toOSWindowCoords (const Vector2 &v) const |
Returns the coordinates of v, which is in the coordinate system of this object, relative to the OSWindow on which it will be rendered. More... | |
Rect2D | toOSWindowCoords (const Rect2D &r) const |
const Vector2 & | viewOffset () const |
Offset of the texture from the centered position. More... | |
float | viewZoom () const |
Zoom factor for the texture display. More... | |
bool | visible () const |
GuiWindow * | window () const |
Get the window containing this control. More... | |
void | zoomIn () |
void | zoomOut () |
void | zoomTo1 () |
Change the scale to 1:1 pixel. More... | |
void | zoomToFit () |
Center the image and scale it to fill the viewport. More... | |
Public Attributes | |
GApp * | m_app |
Protected Types | |
enum | { LEFT_CAPTION_WIDTH = 80, TOP_CAPTION_HEIGHT = 20 } |
enum | { BORDER = 1 } |
Padding around the image. More... | |
Protected Member Functions | |
shared_ptr< Texture > | applyProcessing () const |
Compute a new Texture that is the result of applying all of the visualization post-processing. More... | |
Rect2D | canvasRect () const |
Returns the bounds of the canvas (display) region for this GuiTextBox. More... | |
Rect2D | canvasRect (const Rect2D &rect) const |
Returns the bounds of the canvas (display) region for a GuiTextBox of size rect. More... | |
void | computeSizeString () const |
void | drawTexture (RenderDevice *rd, const Rect2D &r) const |
void | fireEvent (GEventType type) |
Fires an event. More... | |
Protected Attributes | |
GuiText | m_caption |
float | m_captionHeight |
float | m_captionWidth |
Rect2D | m_clickRect |
Rect bounds used for mouse actions. More... | |
Rect2D | m_clientRect |
Position to which all child controls are relative. More... | |
Rect2D | m_clipBounds |
Bounds for mouse clicks and scissor region, updated by every render. More... | |
bool | m_dragging |
True when dragging the image. More... | |
Vector2 | m_dragStart |
bool | m_drawInverted |
If true, textures are drawn with the Y coordinate inverted. More... | |
bool | m_embeddedMode |
If true, this is the texture box inside of the inspector and should not be a button. More... | |
bool | m_enabled |
GuiControl * | m_eventSource |
Sent events should appear to be from this object, which is usually "this". More... | |
GuiWindow * | m_gui |
The window that ultimately contains this control. More... | |
weak_ptr< GuiTextureBoxInspector > | m_inspector |
const ImageFormat * | m_lastFormat |
Vector2int16 | m_lastSize |
GuiText | m_lastSizeCaption |
Cached formatting of m_lastSize. More... | |
Vector2 | m_offset |
Vector2 | m_offsetAtDragStart |
GuiContainer * | m_parent |
Parent pane. More... | |
Vector2int16 | m_readbackXY |
Readback position. More... | |
shared_ptr< CallbackWidget > | m_recordWidget |
Rect2D | m_rect |
Rect bounds used for rendering and layout. More... | |
Texture::Visualization | m_settings |
bool | m_showCubemapEdges |
bool | m_showInfo |
Color4 | m_texel |
Readback texel. More... | |
shared_ptr< Texture > | m_texture |
shared_ptr< class VideoOutput > | m_videoOutput |
When recording a movie. More... | |
bool | m_visible |
float | m_zoom |
Friends | |
class | GuiTextureBoxInspector |
G3D::GuiTextureBox::GuiTextureBox | ( | GuiContainer * | parent, |
const GuiText & | caption, | ||
GApp * | app, | ||
const shared_ptr< Texture > & | t = shared_ptr< Texture >() , |
||
bool | embeddedMode = false , |
||
bool | drawInverted = false |
||
) |
In most cases, you'll want to call GuiPane::addTextureBox instead.
embeddedMode | When set to true, hides the controls that duplicate inspector functionality. |
|
virtual |
|
protected |
Compute a new Texture that is the result of applying all of the visualization post-processing.
This is used for producing images to save. The normal rendering path does not call this function.
|
protected |
Returns the bounds of the canvas (display) region for this GuiTextBox.
Returns the bounds of the canvas (display) region for a GuiTextBox of size rect.
|
inherited |
Referenced by G3D::GuiPane::addDropDownList(), G3D::GuiPane::addMultiLineTextBox(), and G3D::GuiPane::addTextBox().
|
inherited |
For controls that have a caption outside the bounds of the control on the top or bottom, this is the size reserved for the caption.
|
inherited |
For controls that have a caption outside the bounds of the control on the left, this is the size reserved for the caption.
|
inlineinherited |
Used by GuiContainers.
|
inlineinherited |
Client rect bounds, relative to the parent (or window if there is no parent).
|
protected |
|
inlinevirtualinherited |
Default caption size for this control.
Reimplemented in G3D::GuiFunctionBox.
|
inlinevirtualinherited |
|
protected |
|
inherited |
Referenced by G3D::GuiNumberBox< int >::render().
|
overridevirtual |
Return the enabled, visible control containing the mouse.
The default implementation returns itself if the mouse is within its bounds. GuiContainers should override this to iterate through children. Since only one (non-overlapping) child will write to control, it is sufficient to call this on all children without testing to see if one already wrote to control.
Reimplemented from G3D::GuiControl.
|
protectedinherited |
Fires an event.
|
inherited |
Transforms v from OS window coordinates to this control's coordinates.
|
virtualinherited |
Updates this container to ensure that its client rect is least as wide and high as the specified extent, then recursively calls increaseBounds on its parent.
Used during automatic layout sizing.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
If these two controls have the same parent, move this one immediately to the right of the argument.
offset | May be negative |
Referenced by G3D::GuiControl::moveRightOf().
|
inlineinherited |
|
inline |
True if movie recording.
|
virtualinherited |
Invoked immediately (i.e., outside of the queue sequence) when a child fires an event through Widget::fireEvent.
If this method returns true, the event is never submitted to the event queue. The default implementation passes the event to the GUI parent of this GuiContainer.
This enables creation of new custom controls by embedding other controls inside a GuiContainer; the container can suppress or watch the child control events in order to present its own behavior to its parent and the GuiWindow.
|
overridevirtual |
Events are only delivered (by GuiWindow) to a GuiControl when the control has the key focus.
If the control does not consume the event, the event is delivered to each of its GUI parents in order, back to the window's root pane.
Key focus is transferred during a mouse down event.
Reimplemented from G3D::GuiControl.
void G3D::GuiTextureBox::rawSave | ( | ) |
Brings up the modal save dialog to save the underlying data.
|
inherited |
|
overridevirtual |
Only methods on theme may be called from this method by default.
To make arbitrary RenderDevice calls, wrap them in GuiTheme::pauseRendering ... GuiTheme::resumeRendering.
Implements G3D::GuiControl.
void G3D::GuiTextureBox::save | ( | ) |
Brings up the modal save dialog to save an image with post-processing.
|
overridevirtual |
Reimplemented from G3D::GuiControl.
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
Reimplemented in G3D::GuiNumberBox< Value >, G3D::GuiNumberBox< float >, G3D::GuiNumberBox< int >, and G3D::GuiFrameBox.
Referenced by G3D::GuiNumberBox< int >::setEnabled().
|
inlineinherited |
|
inherited |
Grab or release keyboard focus.
|
inherited |
|
inline |
Set m_drawInverted.
void G3D::GuiTextureBox::setMovieRecording | ( | bool | b | ) |
Start/stop movie recording.
Stopping brings up the save box. Destroying the GuiTextureBox cancels automatically.
|
inherited |
|
inherited |
|
overridevirtual |
If you explicitly change the rectangle of a control, the containing pane may clip its borders.
Call pack() on the containing pane (or window) to resize that container appropriately.
Reimplemented from G3D::GuiContainer.
void G3D::GuiTextureBox::setSettings | ( | const Texture::Visualization & | s | ) |
void G3D::GuiTextureBox::setShaderArgs | ( | UniformTable & | args | ) |
|
inline |
Controls the display of (x,y)=rgba when the mouse is over the box.
Defaults to true. Note that displaying these values can significantly impact performance because it must read back from the GPU to the CPU.
|
inherited |
Referenced by G3D::GuiPane::addRadioButton().
|
inherited |
void G3D::GuiTextureBox::setSizeFromInterior | ( | const Vector2 & | dims | ) |
Sizes the control so that exactly dims of viewing space is available.
Useful for ensuring that textures are viewed at 1:1.
void G3D::GuiTextureBox::setTexture | ( | const shared_ptr< Texture > & | t | ) |
If the texture was previously nullptr, also invokes zoomToFit()
void G3D::GuiTextureBox::setTexture | ( | const shared_ptr< Texture > & | t, |
bool | drawInverted | ||
) |
|
inline |
void G3D::GuiTextureBox::setViewOffset | ( | const Vector2 & | x | ) |
void G3D::GuiTextureBox::setViewZoom | ( | float | z | ) |
|
inherited |
|
inherited |
|
inline |
void G3D::GuiTextureBox::showInspector | ( | ) |
Starts the inspector window.
Invoked by the inspector button.
|
inline |
|
inherited |
void G3D::GuiTextureBox::toggleDrawer | ( | ) |
Invoked by the drawer button.
Do not call directly.
|
inlinevirtualinherited |
Return true if this is in tool button style.
Reimplemented in G3D::GuiRadioButton, G3D::GuiButton, and G3D::GuiCheckBox.
Returns the coordinates of v, which is in the coordinate system of this object, relative to the OSWindow on which it will be rendered.
Referenced by G3D::GuiControl::toOSWindowCoords().
|
inline |
Offset of the texture from the centered position.
Positive = right and down.
|
inline |
Zoom factor for the texture display.
Greater than 1 = zoomed in.
|
inherited |
|
inherited |
Get the window containing this control.
void G3D::GuiTextureBox::zoomIn | ( | ) |
void G3D::GuiTextureBox::zoomOut | ( | ) |
void G3D::GuiTextureBox::zoomTo1 | ( | ) |
Change the scale to 1:1 pixel.
void G3D::GuiTextureBox::zoomToFit | ( | ) |
Center the image and scale it to fill the viewport.
|
friend |
GApp* G3D::GuiTextureBox::m_app |
|
protectedinherited |
Referenced by G3D::GuiNumberBox< int >::render().
|
protectedinherited |
|
protectedinherited |
Referenced by G3D::GuiNumberBox< int >::setRect().
|
protectedinherited |
|
protectedinherited |
Position to which all child controls are relative.
Referenced by G3D::GuiContainer::clientRect(), G3D::GuiNumberBox< int >::findControlUnderMouse(), and G3D::GuiNumberBox< int >::render().
|
protected |
Bounds for mouse clicks and scissor region, updated by every render.
|
protected |
True when dragging the image.
|
protected |
|
protected |
If true, textures are drawn with the Y coordinate inverted.
Ignored if drawing a cube map.
Referenced by setInverted().
|
protected |
If true, this is the texture box inside of the inspector and should not be a button.
|
protectedinherited |
|
protectedinherited |
Sent events should appear to be from this object, which is usually "this".
Other controls can set the event source to create compound controls that seem atomic from the outside.
Referenced by G3D::GuiSlider< int >::GuiSlider(), G3D::GuiNumberBox< Value >::MyTextBox::MyTextBox(), and G3D::GuiControl::setEventSource().
|
protectedinherited |
The window that ultimately contains this control.
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
Cached formatting of m_lastSize.
|
protected |
Referenced by viewOffset().
|
protected |
|
protectedinherited |
Parent pane.
|
mutableprotected |
Readback position.
|
protected |
|
protectedinherited |
Rect bounds used for rendering and layout.
Relative to the enclosing pane's clientRect.
Referenced by G3D::GuiControl::findControlUnderMouse(), G3D::GuiNumberBox< int >::render(), G3D::GuiNumberBox< int >::setCaption(), and G3D::GuiNumberBox< int >::setRect().
|
protected |
Referenced by settings().
|
protected |
|
protected |
Referenced by setShowInfo(), and showInfo().
|
mutableprotected |
Readback texel.
|
protected |
When recording a movie.
Referenced by movieRecording().
|
protectedinherited |
|
protected |
Referenced by viewZoom().