ObjectivelyMVC 0.1.0
Object oriented MVC framework for OpenGL, SDL2 and GNU C
ObjectivelyMVC.h
Go to the documentation of this file.
1/*
2 * ObjectivelyMVC: Object oriented MVC framework for OpenGL, SDL2 and GNU C.
3 * Copyright (C) 2014 Jay Dolan <jay@jaydolan.com>
4 *
5 * This software is provided 'as-is', without any express or implied
6 * warranty. In no event will the authors be held liable for any damages
7 * arising from the use of this software.
8 *
9 * Permission is granted to anyone to use this software for any purpose,
10 * including commercial applications, and to alter it and redistribute it
11 * freely, subject to the following restrictions:
12 *
13 * 1. The origin of this software must not be misrepresented; you must not
14 * claim that you wrote the original software. If you use this software
15 * in a product, an acknowledgment in the product documentation would be
16 * appreciated but is not required.
17 *
18 * 2. Altered source versions must be plainly marked as such, and must not be
19 * misrepresented as being the original software.
20 *
21 * 3. This notice may not be removed or altered from any source distribution.
22 */
23
24#pragma once
25
32#include <ObjectivelyMVC/Box.h>
40#include <ObjectivelyMVC/Font.h>
47#include <ObjectivelyMVC/Log.h>
76#include <ObjectivelyMVC/Text.h>
80#include <ObjectivelyMVC/View.h>
Actions bind event-driven behavior to Controls.
A container View with a positioned Label.
Buttons are Controls that respond to click events.
Checkboxes are toggle Controls that respond to click events.
The CollectionItemView type.
The CollectionView type.
W3C Color constants.
Controls are Views which capture events and dispatch Actions.
The DebugViewController type.
TrueType fonts.
HSV color picker.
Hue color picker.
Image loading.
ImageViews render an Image in the context of a View hierarchy.
An Input stacks a Control and Label.
The Label type.
View logging facilities via SDL_Log.
Navigation controllers arrange their child controllers as a stack to facilitate navigation between th...
Select Options.
PageViews manage their subviews as pages in a book.
Draggable containers.
A Progress bar.
RGB(A) color picker.
The Renderer is responsible for rasterizing the View hierarchy of a WindowController.
ScrollViews allow users to pan their internal contents.
A Control allowing users to select one or more Options.
The Selector type.
The SeletorSequence type.
The SimpleSelector type.
A Control allowing users to drag a handle to select a numeric value.
Sound loading and playback.
Sound playback.
StackViews are containers that manage the arrangement of their subviews.
The Style type.
The Stylesheet type.
Tabbed pages within a single View.
TabViewControllers arrange and manage their child ViewControllers in a tab view interface.
TabViewItems embed Views in a TabView.
Each row in a TableView is comprised of TableCellViews.
Columns for TableViews.
Header cells for TableViews.
Header rows for TableViews.
Rows for TableViews.
TableViews provide sortable, tabular presentations of data.
Text rendered with TrueType fonts.
A Control for presenting and capturing user-provied Text.
The Theme type.
ObjectivelyMVC base types.
JSON data binding for Views.
Views are the fundamental building blocks of ObjectivelyMVC user interfaces.
A ViewController manages a View and its descendants.
A WindowController manages a ViewController and its descendants within an SDL_Window.