|
ObjectivelyMVC
Object oriented MVC framework for SDL3 and GNU C
|
ImageViews render an Image in the context of a View hierarchy. More...
#include <ImageView.h>
Public Member Functions | |
| Class * | _ImageView (void) |
| ImageView * | initWithFrame (ImageView *self, const SDL_Rect *frame) |
| Initializes this ImageView with the specified frame. | |
| ImageView * | initWithImage (ImageView *self, const SDL_Rect *frame) |
| ImageView * | initWithImage (ImageView *self, Image *image) |
| Initializes this ImageView with the specified image. | |
| void | setImage (ImageView *self, Image *image) |
| Sets the Image for this ImageView. | |
| void | setImageWithResource (ImageView *self, const Resource *resource) |
| Sets the Image for this ImageView with the given Resource. | |
| void | setImageWithResourceName (ImageView *self, const char *name) |
| Names the Image for this ImageView, resolved against the window's Theme at its pixel density. The Image resolves immediately when this View is already in a window, and otherwise on ImageView::didMoveToWindow, so a name may be set before the View is installed. | |
| void | setImageWithSurface (ImageView *self, SDL_Surface *surface) |
| A convenience method to set this view's Image with a surface. | |
Public Member Functions inherited from View | |
| Class * | _View (void) |
| The View archetype. | |
| bool | acceptsKeyResponder (const View *self) |
| bool | acceptsTouchResponder (const View *self) |
| void | addClassName (View *self, const char *className) |
| Adds the given class name to this View. | |
| void | addSubview (View *self, View *subview) |
| Adds a subview to this view, to be drawn above its siblings. | |
| void | addSubviewRelativeTo (View *self, View *subview, View *other, ViewPosition position) |
Adds a subview to this view, positioned relatively to other. | |
| ancestorWithIdentifier (const View *self, const char *identifier) | |
| void | applyStyle (View *self, const Style *style) |
| Applies the given Style to this View. | |
| void | applyTheme (View *self, const Theme *theme) |
| Applies the given Theme to this View. | |
| void | applyThemeIfNeeded (View *self, const Theme *theme) |
| Recursively applies the Theme to this View and its subviews. | |
| void | attachStylesheet (View *self, SDL_Window *window) |
| Attaches this View's Stylesheet to the Theme associated with the given window. | |
| void | awakeWithCharacters (View *self, const char *chars) |
| Wakes this View with the given null-terminated JSON C string. | |
| void | awakeWithData (View *self, const Data *data) |
| Wakes this View with the specified JSON Data. | |
| void | awakeWithDictionary (View *, const Dictionary *) |
| Wakes this View with the specified Dictionary. | |
| void | awakeWithResource (View *self, const Resource *resource) |
| Wakes this View with the specified Resource. | |
| void | awakeWithResourceName (View *self, const char *name) |
| Wakes this View with the Resource by the specified name. | |
| void | becomeKeyResponder (View *self) |
| Become the key responder in the View hierarchy. | |
| void | becomeTouchResponder (View *self) |
| Become the touch responder in the View hierarchy. | |
| bool | bind (View *self, const Inlet *inlets, const Dictionary *dictionary) |
Performs data binding for the Inlets described in dictionary. | |
| SDL_Rect | bounds (const View *self) |
| void | bringSubviewToFront (View *self, View *subview) |
| Brings the specified subview to the front. | |
| void | clearWarnings (const View *self, WarningType type) |
| Clears this View's Warnings matching the given level. | |
| SDL_Rect | clippingFrame (const View *self) |
| bool | containsPoint (const View *self, const SDL_Point *point) |
| int | depth (const View *self) |
| descendantWithIdentifier (const View *self, const char *identifier) | |
| void | detachStylesheet (View *self, SDL_Window *window) |
| Detaches this View's Stylesheet from the Theme associated with the given window. | |
| void | didMoveToWindow (View *self, SDL_Window *window) |
| Informs this View that it has been added to the View hierachy of the given window. | |
| bool | didReceiveEvent (const View *self, const SDL_Event *event) |
| void | draw (View *self, Renderer *renderer) |
| Draws this View. | |
| void | emitViewEvent (View *self, ViewEvent code, ident data) |
| Emits a ViewEvent originating from this View. | |
| void | enumerate (const View *self, ViewEnumerator enumerator, ident data) |
| void | enumerate (View *self, ViewEnumerator enumerator, ident data) |
Enumerates this View and its descendants, applying enumerator to each. | |
| void | enumerateAdjacent (const View *self, ViewEnumerator enumerator, ident data) |
Enumerates adjacent siblings of this View, applying enumerator to each. | |
| void | enumerateAncestors (const View *self, ViewEnumerator enumerator, ident data) |
Enumerates all ancestors of this View, applying enumerator to each. | |
| void | enumerateDescendants (const View *self, ViewEnumerator enumerator, ident data) |
Enumerates all descendants of this View, applying enumerator to each. | |
| void | enumerateSelection (View *self, const char *rule, ViewEnumerator enumerator, ident data) |
Enumerates all Views in the selection matched by rule, applying enumerator to each. | |
| void | enumerateSiblings (const View *self, ViewEnumerator enumerator, ident data) |
Enumerates all siblings of this View, applying enumerator to each. | |
| void | enumerateSubviews (const View *self, ViewEnumerator enumerator, ident data) |
Enumerates all subviews of this View, applying enumerator to each. | |
| void | enumerateSuperview (const View *self, ViewEnumerator enumerator, ident data) |
Enumerates the superview of this View, if any, applying enumerator to it. | |
| void | enumerateVisible (const View *self, ViewEnumerator enumerator, ident data) |
| void | enumerateVisible (View *self, ViewEnumerator enumerator, ident data) |
Enumerates this View and its visible descendants, applying enumerator to each. | |
| bool | hasClassName (const View *self, cosnt char *className) |
| bool | hasOverflow (const View *self) |
| View * | hitTest (const View *self, const SDL_Point *point) |
| Performs a hit test against this View and its descendants for the given point. | |
| View * | init (View *self) |
| Initializes this View. | |
| View * | initWithFrame (View *self, const SDL_Rect *frame) |
| Initializes this View with the specified frame. | |
| void | invalidateStyle (View *self) |
| Invalidates the computed Style for this View and its descendants. | |
| bool | isContainer (const View *self) |
| bool | isDescendantOfView (const View *self, const View *view) |
| bool | isKeyResponder (const View *self) |
| bool | isTouchResponder (const View *self) |
| bool | isVisible (const View *self) |
| void | layoutIfNeeded (View *self) |
| Recursively updates the layout of this View and its subviews. | |
| layoutSubviews (View *self) | |
| Arranges this View's immediate subviews within its (already final) frame. | |
| void | layoutWithConstraint (View *self, ViewConstraint width, ViewConstraint height) |
| Resolves this View's size against the given ViewConstraints, then arranges it. | |
| void | layoutWithSize (View *self, const SDL_Size *size) |
| Resizes this View to the given size, then arranges it. | |
| bool | matchesSelector (const View *self, const SimpleSelector *simpleSelector) |
| void | moveToWindow (View *self, SDL_Window *window) |
| Moves this View to the View hierarchy of the given window. | |
| String * | path (const View *self) |
| void | removeAllClassNames (View *self) |
| Removes all class names from this View. | |
| void | removeAllSubviews (View *self) |
| Removes all subviews from this View. | |
| void | removeClassName (View *self, const char *className) |
| Removes the given class name to this View. | |
| void | removeFromSuperview (View *self) |
| Removes this View from its superview. | |
| void | removeSubview (View *self, View *subview) |
| Removes the given subview from this View. | |
| void | render (View *self, Renderer *renderer) |
| Renders this View using the given renderer. | |
| void | renderDeviceDidReset (View *self) |
| Informs this View that the render device has reset. | |
| void | renderDeviceWillReset (View *self) |
| Informs this View that the render device will reset. | |
| SDL_Rect | renderFrame (const View *self) |
| void | replaceSubview (View *self, View *subview, View *replacement) |
| Replaces the specified subview with the given replacement. | |
| void | resignKeyResponder (View *self) |
| Resigns key responder priority. | |
| void | resignTouchResponder (View *self) |
| Resigns touch responder priority. | |
| void | resize (View *self, const SDL_Size *size) |
| Resizes this View to the specified size. | |
| void | resolve (View *self, Outlet *outlets) |
| Resolves the given Outlets from this View's hierarchy. | |
| void | respondToEvent (View *self, const SDL_Event *event) |
| Responds to the specified event. | |
| Set * | select (View *self, const char *rule) |
| Resolves all descendants (including this View) that match the given Selector rule. | |
| View * | selectFirst (View *self, const char *rule) |
| Resolves the first descendant View that matches the given Selector rule. | |
| void | setNeedsApplyTheme (View *self) |
| Marks this View as needing Theme application before it is next drawn. | |
| void | setNeedsLayout (View *self) |
| Marks this View as needing layout before it is next drawn. | |
| void | setVisibility (View *self, ViewVisibility visibility) |
| Sets this View's visibility. | |
| SDL_Size | size (const View *self) |
| SDL_Size | sizeThastFills (const View *self) |
| SDL_Size | sizeThatContains (const View *self) |
| SDL_Size | sizeThatFills (const View *self) |
| void | sizeThatFits (const View *self) |
| SDL_Size | sizeThatSatisfies (View *self, ViewConstraint width, ViewConstraint height) |
| Resolves the size this View wants to be, within the offered ViewConstraints. | |
| void | sizeToContain (View *self) |
| Resizes this View to contain its subviews. | |
| void | sizeToFill (View *self) |
| Resizes this View to fill its superview. | |
| void | sizeToFit (View *self) |
| Resizes this View to fit its subviews. | |
| void | sizeToSatisfy (View *self, ViewConstraint width, ViewConstraint height) |
| Resizes this View to satisfy the given ViewConstraints. | |
| subviewWithIdentifier (const View *self, const char *identifier) | |
| void | updateBindings (View *self, ident data) |
| Updates data bindings, prompting the appropriate layout changes. | |
| SDL_Rect | viewport (const View *self) |
| View * | viewWithCharacters (const char *chars, Outlet *outlets) |
| Instantiates a View initialized with the given null-terminated JSON C string. | |
| View * | viewWithData (const Data *data, Outlet *outlets) |
Instantiates a View initialized with the contents of data. | |
| View * | viewWithDictionary (const Dictionary *dictionary, Outlet *outlets) |
Instantiates a View initialized with the attributes described in dictionary. | |
| View * | viewWithResource (const Resource *resource, Outlet *outlets) |
Instantiates a View initialized with the JSON data in resource. | |
| View * | viewWithResourceName (const char *name, Outlet *outlets) |
Instantiates a View initialized with the JSON Resource with the specified name. | |
| Array * | visibleSubviews (const View *self) |
| void | warn (View *self, ViewWarningType type, const char *fmt,...) |
| void | warn (View *self, WarningType level, const char *fmt,...) |
| Appends a warning for this View. | |
| void | willMoveToWindow (View *self, SDL_Window *window) |
| Informs this View that it will be added to the View hierarchy for the given window. | |
Data Fields | ||
| struct { | ||
| SDL_GPUBlendFactor dst | ||
| SDL_GPUBlendFactor src | ||
| } | blend | |
| The blend factors (currently unused; reserved for future per-pipeline support). | ||
| SDL_Color | color | |
| The drawing color. | ||
| Image * | image | |
| The image. | ||
| Texture * | texture | |
| The GPU texture. | ||
| View | view | |
| The superclass. | ||
Data Fields inherited from View | ||
| ViewAlignment | alignment | |
| The alignment. | ||
| int | autoresizingMask | |
| The ViewAutoresizing bitmask. | ||
| SDL_Color | backgroundColor | |
| The background color. | ||
| int | backgroundGradientAngle | |
The angle of the background gradient, in degrees, clockwise from south: 0 (the default) fills downwards, 90 to the right, 180 upwards. | ||
| SDL_Color | backgroundGradientColor | |
| The far color of the background gradient, which runs from View::backgroundColor. | ||
| SDL_Color | borderColor | |
| The border color. | ||
| int | borderRadius | |
| The corner radius applied to the background, border and bevel. | ||
| int | borderWidth | |
| The border width. | ||
| Set * | classNames | |
| The class names. | ||
| bool | clipsSubviews | |
| If true, subviews will be clipped to this View's frame. | ||
| Style * | computedStyle | |
| The computed Style of this View. | ||
| ViewCornerCut | cornerCut | |
| The horizontal inset of each corner of the background and border. | ||
| char * | identifier | |
| An optional identifier. | ||
| SDL_Size | maxSize | |
| The maximum size this View may be resized to during layout. | ||
| SDL_Size | minSize | |
| The minimum size this View may be resized to during layout. | ||
| bool | needsApplyTheme | |
| If true, this View will apply the Theme before it is drawn. | ||
| bool | needsLayout | |
| If true, this View will layout its subviews before it is drawn. | ||
| View * | nextResponder | |
| The next responder, or event handler, in the chain. | ||
| Object | object | |
| The superclass. | ||
| ViewPadding | padding | |
| The padding. | ||
| ViewPointerEvents | pointerEvents | |
| Whether this View is the result of a hit test; its subviews always are. | ||
| bool | stretch | |
| Whether this View takes a share of the space its StackView leaves along its axis. | ||
| Style * | style | |
| The element-level Style of this View. | ||
| Stylesheet * | stylesheet | |
| An optional Stylesheet. | ||
| Array * | subviews | |
| The immediate subviews. | ||
| View * | superview | |
| The super View. | ||
| ViewController * | viewController | |
| The ViewController. | ||
| ViewVisibility | visibility | |
| Whether this View is drawn, and contributes to its superview's size. | ||
| Array * | warnings | |
| The Warnings this View generated. | ||
| SDL_Window * | window | |
| The window. | ||
Protected Attributes | |
| ImageViewInterface * | interface [0] |
| The interface type. | |
Protected Attributes inherited from View | |
| ViewInterface * | interface [0] |
| The interface type. | |
ImageViews render an Image in the context of a View hierarchy.
Definition at line 45 of file ImageView.h.
| Class * _ImageView | ( | void | ) |
Definition at line 337 of file ImageView.c.
Initializes this ImageView with the specified frame.
| self | The ImageView. |
| frame | The frame. |
NULL on error. Definition at line 206 of file ImageView.c.
Initializes this ImageView with the specified image.
NULL on error. Definition at line 223 of file ImageView.c.
Sets the Image for this ImageView.
Definition at line 237 of file ImageView.c.
| void setImageWithResource | ( | ImageView * | self, |
| const Resource * | resource | ||
| ) |
Sets the Image for this ImageView with the given Resource.
Definition at line 264 of file ImageView.c.
| void setImageWithResourceName | ( | ImageView * | self, |
| const char * | name | ||
| ) |
Names the Image for this ImageView, resolved against the window's Theme at its pixel density. The Image resolves immediately when this View is already in a window, and otherwise on ImageView::didMoveToWindow, so a name may be set before the View is installed.
Definition at line 277 of file ImageView.c.
| void setImageWithSurface | ( | ImageView * | self, |
| SDL_Surface * | surface | ||
| ) |
A convenience method to set this view's Image with a surface.
| self | The ImageView. |
| surface | The surface. |
Definition at line 296 of file ImageView.c.
| struct { ... } ImageView::blend |
The blend factors (currently unused; reserved for future per-pipeline support).
| SDL_Color ImageView::color |
The drawing color.
Definition at line 68 of file ImageView.h.
| SDL_GPUBlendFactor ImageView::dst |
Definition at line 62 of file ImageView.h.
| Image* ImageView::image |
The image.
Definition at line 73 of file ImageView.h.
|
protected |
The interface type.
Definition at line 56 of file ImageView.h.
| SDL_GPUBlendFactor ImageView::src |
Definition at line 62 of file ImageView.h.
| Texture* ImageView::texture |
The GPU texture.
This is the cached upload of image, but it MAY also be assigned directly, with no image set, to present a Texture the caller owns and updates, such as a Framebuffer's.
Definition at line 89 of file ImageView.h.
| View ImageView::view |
The superclass.
Definition at line 50 of file ImageView.h.