ObjectivelyMVC 0.1.0
Object oriented MVC framework for OpenGL, SDL2 and GNU C
|
Views are the fundamental building blocks of ObjectivelyMVC user interfaces. More...
#include <View.h>
Public Member Functions | |
Class * | _View (void) |
The View archetype. More... | |
_Bool | acceptsFirstResponder (const View *self) |
void | addClassName (View *self, const char *className) |
Adds the given class name to this View. More... | |
void | addSubview (View *self, View *subview) |
Adds a subview to this view, to be drawn above its siblings. More... | |
void | addSubviewRelativeTo (View *self, View *subview, View *other, ViewPosition position) |
Adds a subview to this view, positioned relatively to other . More... | |
ancestorWithIdentifier (const View *self, const char *identifier) | |
void | applyStyle (View *self, const Style *style) |
Applies the given Style to this View. More... | |
void | applyTheme (View *self, const Theme *theme) |
Applies the given Theme to this View. More... | |
void | applyThemeIfNeeded (View *self, const Theme *theme) |
Recursively applies the Theme to this View and its subviews. More... | |
void | attachStylesheet (View *self, SDL_Window *window) |
Attaches this View's Stylesheet to the Theme associated with the given window. More... | |
void | awakeWithCharacters (View *self, const char *chars) |
Wakes this View with the given null-terminated JSON C string. More... | |
void | awakeWithData (View *self, const Data *data) |
Wakes this View with the specified JSON Data. More... | |
void | awakeWithDictionary (View *self, const Dictionary *dictionary) |
Wakes this View with the specified Dictionary. More... | |
void | awakeWithResource (View *self, const Resource *resource) |
Wakes this View with the specified Resource. More... | |
void | awakeWithResourceName (View *self, const char *name) |
Wakes this View with the Resource by the specified name. More... | |
void | becomeFirstResponder (View *self) |
Become the first responder in the View hierarchy. More... | |
_Bool | bind (View *self, const Inlet *inlets, const Dictionary *dictionary) |
Performs data binding for the Inlets described in dictionary . More... | |
SDL_Rect | bounds (const View *self) |
void | bringSubviewToFront (View *self, View *subview) |
Brings the specified subview to the front. More... | |
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. More... | |
void | didMoveToWindow (View *self, SDL_Window *window) |
Informs this View that it has been added to the View hierachy of the given window. More... | |
_Bool | didReceiveEvent (const View *self, const SDL_Event *event) |
void * | draw (View *self, Renderer *renderer) |
Draws this View. More... | |
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. More... | |
void | enumerateAdjacent (const View *self, ViewEnumerator enumerator, ident data) |
Enumerates adjacent siblings of this View, applying enumerator to each. More... | |
void | enumerateAncestors (const View *self, ViewEnumerator enumerator, ident data) |
Enumerates all ancestors of this View, applying enumerator to each. More... | |
void | enumerateDescendants (const View *self, ViewEnumerator enumerator, ident data) |
Enumerates all descendants of this View, applying enumerator to each. More... | |
void | enumerateSelection (View *self, const char *rule, ViewEnumerator enumerator, ident data) |
Enumerates all Views in the selection matched by rule , applying enumerator to each. More... | |
void | enumerateSiblings (const View *self, ViewEnumerator enumerator, ident data) |
Enumerates all siblings of this View, applying enumerator to each. More... | |
void | enumerateSubviews (const View *self, ViewEnumerator enumerator, ident data) |
Enumerates all subviews of this View, applying enumerator to each. More... | |
void | enumerateSuperview (const View *self, ViewEnumerator enumerator, ident data) |
Enumerates the superview of this View, if any, applying enumerator to it. More... | |
View * | firstResponder (SDL_Window *window) |
_Bool | hasClassName (const View *self, cosnt char *className) |
View * | hitTest (const View *self, const SDL_Point *point) |
Performs a hit test against this View and its descendants for the given point. More... | |
View * | init (View *self) |
Initializes this View. More... | |
View * | initWithFrame (View *self, const SDL_Rect *frame) |
Initializes this View with the specified frame. More... | |
void | invalidateStyle (View *self) |
Invalidates the computed Style for this View and its descendants. More... | |
_Bool | isContainer (const View *self) |
_Bool | isDescendantOfView (const View *self, const View *view) |
_Bool | isFirstResponder (const View *self) |
_Bool | isVisible (const View *self) |
void | layoutIfNeeded (View *self) |
Recursively updates the layout of this View and its subviews. More... | |
layoutSubviews (View *self) | |
Performs layout for this View's immediate subviews. More... | |
_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. More... | |
String * | path (const View *self) |
void | removeAllClassNames (View *self) |
Removes all class names from this View. More... | |
void | removeAllSubviews (View *self) |
Removes all subviews from this View. More... | |
void | removeClassName (View *self, const char *className) |
Removes the given class name to this View. More... | |
void | removeFromSuperview (View *self) |
Removes this View from its superview. More... | |
void | removeSubview (View *self, View *subview) |
Removes the given subview from this View. More... | |
void | render (View *self, Renderer *renderer) |
Renders this View using the given renderer. More... | |
void | renderDeviceDidReset (View *self) |
Informs this View that the render device has reset. More... | |
void | renderDeviceWillReset (View *self) |
Informs this View that the render device will reset. More... | |
SDL_Rect | renderFrame (const View *self) |
void | replaceSubview (View *self, View *subview, View *replacement) |
Replaces the specified subview with the given replacement. More... | |
void | resignFirstResponder (View *self) |
Resigns first responder priority. More... | |
void | resize (View *self, const SDL_Size *size) |
Resizes this View to the specified size. More... | |
void | resolve (View *self, Outlet *outlets) |
Resolves the given Outlets from this View's hierarchy. More... | |
void | respondToEvent (View *self, const SDL_Event *event) |
Responds to the specified event. More... | |
Set * | select (View *self, const char *rule) |
Resolves all descendants (including this View) that match the given Selector rule. More... | |
void | setFirstResponder (SDL_Window *window, View *view) |
Sets the first responder for the given window. More... | |
SDL_Size | size (const View *self) |
SDL_Size | sizeThatContains (const View *self) |
void | sizeThatFits (const View *self) |
void | sizeToContain (View *self) |
Resizes this View to contain its subviews. More... | |
void | sizeToFit (View *self) |
Resizes this View to fit its subviews. More... | |
subviewWithIdentifier (const View *self, const char *identifier) | |
void | updateBindings (View *self) |
Updates data bindings, prompting the appropriate layout changes. More... | |
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. More... | |
View * | viewWithData (const Data *data, Outlet *outlets) |
Instantiates a View initialized with the contents of data . More... | |
View * | viewWithDictionary (const Dictionary *dictionary, Outlet *outlets) |
Instantiates a View initialized with the attributes described in dictionary . More... | |
View * | viewWithResource (const Resource *resource, Outlet *outlets) |
Instantiates a View initialized with the JSON data in resource . More... | |
View * | viewWithResourceName (const char *name, Outlet *outlets) |
Instantiates a View initialized with the JSON Resource with the specified name . More... | |
Array * | visibleSubviews (const View *self) |
void | warn (View *self, const char *fmt,...) |
Appends a warning for this View. More... | |
void | willMoveToWindow (View *self, SDL_Window *window) |
Informs this View that it will be added to the View hierarchy for the given window. More... | |
Data Fields | |
ViewAlignment | alignment |
The alignment. More... | |
int | autoresizingMask |
The ViewAutoresizing bitmask. More... | |
SDL_Color | backgroundColor |
The background color. More... | |
SDL_Color | borderColor |
The border color. More... | |
int | borderWidth |
The border width. More... | |
MutableSet * | classNames |
The class names. More... | |
_Bool | clipsSubviews |
If true, subviews will be clipped to this View's frame. More... | |
Style * | computedStyle |
The computed Style of this View. More... | |
SDL_Rect | frame |
The frame, relative to the superview. More... | |
_Bool | hidden |
If true , this View is not drawn. More... | |
char * | identifier |
An optional identifier. More... | |
SDL_Size | maxSize |
The maximum size this View may be resized to during layout. More... | |
SDL_Size | minSize |
The minimum size this View may be resized to during layout. More... | |
_Bool | needsApplyTheme |
If true, this View will apply the Theme before it is drawn. More... | |
_Bool | needsLayout |
If true, this View will layout its subviews before it is drawn. More... | |
View * | nextResponder |
The next responder, or event handler, in the chain. More... | |
Object | object |
The superclass. More... | |
ViewPadding | padding |
The padding. More... | |
Style * | style |
The element-level Style of this View. More... | |
Stylesheet * | stylesheet |
An optional Stylesheet. More... | |
MutableArray * | subviews |
The immediate subviews. More... | |
View * | superview |
The super View. More... | |
ViewController * | viewController |
The ViewController. More... | |
MutableArray * | warnings |
The warnings this View generated. More... | |
SDL_Window * | window |
The window. More... | |
Protected Attributes | |
ViewInterface * | interface |
The interface. More... | |
Views are the fundamental building blocks of ObjectivelyMVC user interfaces.
Views provide organization and coordination of layout, drawing and event handling. Views maintain hierarchical relationships among other Views, whereby each View's parent, or superview
, dictates where it will be drawn on the screen, which events it will be eligible to receive, etc.
Class * _View | ( | void | ) |
The View archetype.
Definition at line 1769 of file View.c.
_Bool acceptsFirstResponder | ( | const View * | self | ) |
void addClassName | ( | View * | self, |
const char * | className | ||
) |
Adds the given class name to this View.
self | The View. |
className | The class name. |
Definition at line 120 of file View.c.
Adds a subview to this view, to be drawn above its siblings.
self | The View. |
subview | The subview to add. |
$(view, addSubviewRelativeTo, subview, NULL, OrderSame)
. Definition at line 35 of file PageView.c.
void addSubviewRelativeTo | ( | View * | self, |
View * | subview, | ||
View * | other, | ||
ViewPosition | position | ||
) |
Adds a subview to this view, positioned relatively to other
.
self | The View. |
subview | The subview to add. |
other | An optional View to position subview relative to. |
position | The relative position. |
Definition at line 146 of file View.c.
ancestorWithIdentifier | ( | const View * | self, |
const char * | identifier | ||
) |
Applies the given Style to this View.
Definition at line 56 of file CollectionView.c.
Applies the given Theme to this View.
Definition at line 246 of file View.c.
Recursively applies the Theme to this View and its subviews.
Definition at line 269 of file View.c.
void attachStylesheet | ( | View * | self, |
SDL_Window * | window | ||
) |
void awakeWithCharacters | ( | View * | self, |
const char * | chars | ||
) |
Wakes this View with the given null-terminated JSON C string.
Definition at line 302 of file View.c.
void awakeWithData | ( | View * | self, |
const Data * | data | ||
) |
Wakes this View with the specified JSON Data.
Definition at line 315 of file View.c.
void awakeWithDictionary | ( | View * | self, |
const Dictionary * | dictionary | ||
) |
Wakes this View with the specified Dictionary.
dictionary
. void awakeWithResource | ( | View * | self, |
const Resource * | resource | ||
) |
void awakeWithResourceName | ( | View * | self, |
const char * | name | ||
) |
Wakes this View with the Resource by the specified name.
Definition at line 357 of file View.c.
void becomeFirstResponder | ( | View * | self | ) |
Become the first responder in the View hierarchy.
self | The View. |
Definition at line 370 of file View.c.
Performs data binding for the Inlets described in dictionary
.
SDL_Rect bounds | ( | const View * | self | ) |
Brings the specified subview to the front.
self | The View. |
subview | The subview. |
Definition at line 412 of file View.c.
SDL_Rect clippingFrame | ( | const View * | self | ) |
self | The View. |
renderFrame
, expanded for border width, and clipped to all ancestors. Definition at line 429 of file View.c.
_Bool containsPoint | ( | const View * | self, |
const SDL_Point * | point | ||
) |
int depth | ( | const View * | self | ) |
descendantWithIdentifier | ( | const View * | self, |
const char * | identifier | ||
) |
self | The View. |
identifier | The identifier. |
Definition at line 491 of file View.c.
void detachStylesheet | ( | View * | self, |
SDL_Window * | window | ||
) |
Detaches this View's Stylesheet from the Theme associated with the given window.
self | The View. |
window | The window. |
Definition at line 517 of file View.c.
void didMoveToWindow | ( | View * | self, |
SDL_Window * | window | ||
) |
Informs this View that it has been added to the View hierachy of the given window.
Definition at line 533 of file View.c.
_Bool didReceiveEvent | ( | const View * | self, |
const SDL_Event * | event | ||
) |
self | The View. |
event | The event. |
Definition at line 546 of file View.c.
Draws 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.
self | The View. |
enumerator | The ViewEnumerator. |
data | User data. |
Definition at line 588 of file View.c.
void enumerateAdjacent | ( | const View * | self, |
ViewEnumerator | enumerator, | ||
ident | data | ||
) |
Enumerates adjacent siblings of this View, applying enumerator
to each.
self | The View. |
enumerator | The ViewEnumerator. |
data | User data. |
Definition at line 601 of file View.c.
void enumerateAncestors | ( | const View * | self, |
ViewEnumerator | enumerator, | ||
ident | data | ||
) |
void enumerateDescendants | ( | const View * | self, |
ViewEnumerator | enumerator, | ||
ident | data | ||
) |
void enumerateSelection | ( | View * | self, |
const char * | rule, | ||
ViewEnumerator | enumerator, | ||
ident | data | ||
) |
Enumerates all Views in the selection matched by rule
, applying enumerator
to each.
Definition at line 634 of file View.c.
void enumerateSiblings | ( | const View * | self, |
ViewEnumerator | enumerator, | ||
ident | data | ||
) |
Enumerates all siblings of this View, applying enumerator
to each.
self | The View. |
enumerator | The ViewEnumerator. |
data | User data. |
Definition at line 665 of file View.c.
void enumerateSubviews | ( | const View * | self, |
ViewEnumerator | enumerator, | ||
ident | data | ||
) |
void enumerateSuperview | ( | const View * | self, |
ViewEnumerator | enumerator, | ||
ident | data | ||
) |
View * firstResponder | ( | SDL_Window * | window | ) |
_Bool hasClassName | ( | const View * | self, |
cosnt char * | className | ||
) |
Performs a hit test against this View and its descendants for the given point.
self | The View. |
point | The point to test. |
Definition at line 743 of file View.c.
Initializes this View.
self | The View. |
NULL
on error. Definition at line 67 of file Box.c.
Initializes this View with the specified frame.
self | The View. |
frame | The frame. |
NULL
on error. Definition at line 778 of file View.c.
void invalidateStyle | ( | View * | self | ) |
Invalidates the computed Style for this View and its descendants.
self | The View. |
Definition at line 822 of file View.c.
_Bool isContainer | ( | const View * | self | ) |
_Bool isFirstResponder | ( | const View * | self | ) |
_Bool isVisible | ( | const View * | self | ) |
void layoutIfNeeded | ( | View * | self | ) |
Recursively updates the layout of this View and its subviews.
self | The View. |
Definition at line 891 of file View.c.
layoutSubviews | ( | View * | self | ) |
Performs layout for this View's immediate subviews.
self | The View. |
Definition at line 74 of file Box.c.
_Bool matchesSelector | ( | const View * | self, |
const SimpleSelector * | simpleSelector | ||
) |
self | The View. |
simpleSelector | The SimpleSelector. |
Definition at line 51 of file CollectionItemView.c.
void moveToWindow | ( | View * | self, |
SDL_Window * | window | ||
) |
Moves this View to the View hierarchy of the given window.
Definition at line 1073 of file View.c.
String * path | ( | const View * | self | ) |
self | The view. |
Definition at line 1091 of file View.c.
void removeAllClassNames | ( | View * | self | ) |
void removeAllSubviews | ( | View * | self | ) |
Removes all subviews from this View.
self | The View. |
Definition at line 1150 of file View.c.
void removeClassName | ( | View * | self, |
const char * | className | ||
) |
Removes the given class name to this View.
self | The View. |
className | The class name. |
Definition at line 1158 of file View.c.
void removeFromSuperview | ( | View * | self | ) |
Removes this View from its superview.
self | The View. |
Definition at line 1175 of file View.c.
Removes the given subview from this View.
self | The View. |
subview | The subview. |
Definition at line 58 of file PageView.c.
Renders this View using the given renderer.
draw
as the View hierarchy is drawn. Definition at line 131 of file Control.c.
void renderDeviceDidReset | ( | View * | self | ) |
Informs this View that the render device has reset.
self | The View. |
Definition at line 172 of file Text.c.
void renderDeviceWillReset | ( | View * | self | ) |
Informs this View that the render device will reset.
self | The View. |
Definition at line 121 of file ImageView.c.
SDL_Frame renderFrame | ( | const View * | self | ) |
Replaces the specified subview with the given replacement.
self | The View. |
subview | The subview to replace. |
replacement | The replacement subview. |
Definition at line 1302 of file View.c.
void resignFirstResponder | ( | View * | self | ) |
Resizes this View to the specified size.
self | The View. |
size | The size to set. |
Definition at line 1326 of file View.c.
Resolves the given Outlets from this View's hierarchy.
self | The View. |
outlets | The Outlets to resolve. |
Definition at line 1345 of file View.c.
void respondToEvent | ( | View * | self, |
const SDL_Event * | event | ||
) |
Responds to the specified event.
self | The View. |
event | The event. |
Definition at line 213 of file Control.c.
Set * select | ( | View * | self, |
const char * | rule | ||
) |
void setFirstResponder | ( | SDL_Window * | window, |
View * | view | ||
) |
Sets the first responder for the given window.
window | The window. |
view | The View. |
Definition at line 1393 of file View.c.
self | The View. |
Definition at line 1423 of file View.c.
self | The View. |
autoresizingMask
. Definition at line 123 of file CollectionView.c.
void sizeToContain | ( | View * | self | ) |
Resizes this View to contain its subviews.
self | The View. |
Definition at line 1485 of file View.c.
void sizeToFit | ( | View * | self | ) |
Resizes this View to fit its subviews.
self | The View. |
Definition at line 1496 of file View.c.
self | The View. |
identifier | The identifier. |
Definition at line 1507 of file View.c.
void updateBindings | ( | View * | self | ) |
Updates data bindings, prompting the appropriate layout changes.
self | The View. |
Definition at line 115 of file HSVColorPicker.c.
SDL_Rect viewport | ( | const View * | self | ) |
self | The View. |
Definition at line 1545 of file View.c.
Instantiates a View initialized with the given null-terminated JSON C string.
chars | A null-terminated JSON C string describing a View. |
outlets | An optional array of Outlets to resolve. |
NULL
on error. Definition at line 1558 of file View.c.
Instantiates a View initialized with the contents of data
.
data | A Data containing JSON describing a View. |
outlets | An optional array of Outlets to resolve. |
NULL
on error. Definition at line 1573 of file View.c.
Instantiates a View initialized with the attributes described in dictionary
.
dictionary | A Dictionary describing a View. |
outlets | An optional array of Outlets to resolve. |
NULL
on error. Definition at line 1588 of file View.c.
Instantiates a View initialized with the JSON data in resource
.
resource | A Resource containing JSON describing a View. |
outlets | An optional array of Outlets to resolve. |
NULL
on error. Definition at line 1603 of file View.c.
Instantiates a View initialized with the JSON Resource with the specified name
.
name | The name of a JSON Resource describing a View. |
outlets | An optional array of Outlets to resolve. |
NULL
on error. Definition at line 1614 of file View.c.
Array * visibleSubviews | ( | const View * | self | ) |
self | The View. |
Definition at line 78 of file PageView.c.
void warn | ( | View * | self, |
const char * | fmt, | ||
... | |||
) |
Appends a warning for this View.
self | The View. |
fmt | The format string. |
Definition at line 1647 of file View.c.
void willMoveToWindow | ( | View * | self, |
SDL_Window * | window | ||
) |
Informs this View that it will be added to the View hierarchy for the given window.
Definition at line 1664 of file View.c.
ViewAlignment View::alignment |
_Bool View::clipsSubviews |
char* View::identifier |
SDL_Size View::maxSize |
SDL_Size View::minSize |
_Bool View::needsApplyTheme |
_Bool View::needsLayout |
View* View::nextResponder |
ViewPadding View::padding |
Style* View::style |
Stylesheet* View::stylesheet |
An optional Stylesheet.
View* View::superview |
ViewController* View::viewController |
The ViewController.
NULL
unless the View is the immediate view
of a ViewController. MutableArray* View::warnings |
The warnings this View generated.
SDL_Window* View::window |
The window.
NULL
until the View has been added to a WindowController.