The CCApplication class is the main class that controls the app run loop, handles events, and manages the lifecycle of the program.
A CCEvent holds information about a single event that was triggered by the system, application, or window manager.
Holds information about a single menu in the menu bar or context menu, either
as a top-level menu or a submenu.

Stores information about a single menu item.
An application implementing the CCApplicationDelegate interface can be used to receive life cycle events from the application.
Holds information about a menu item in a serializable way.
Starts the application main loop by creating the shared CCApplication, creating the main window with the specified view controller class, and running the main event loop.
The CCGraphicsContext class is used to draw onto a surface with various transformations applied on top.
A CCImage represents an image that can be displayed on screen.
The CCLayoutConstraint class defines a rule that constrains a value of one view's geometry to another view, following a linear equation. Use constraints to make a UI that automatically handles resizing.
The CCResponder class handles receiving events from the application. Any object that wants to receive events must extend from CCResponder.
Holds a weak reference to an object.
Holds a list of key constants used in CCKit2. These are independent of system- specific codes; use this to check keycodes.
Represents a color on screen, which can be modified with palettes.
Represents a color on screen, which can be modified with palettes.
Represents an error thrown by the system.
Defines a key combination with modifiers.
A point in space.
A rectangle has both a position and size.
A size with width and height.
Represents a color on screen, which can be modified with palettes.
Represents a color on screen, which can be modified with palettes.
Calculates the intersection of two rectangles.
The CCViewController class is the primary way to design behavior for a view or window. It owns a root view which is tied to the view controller, whose lifecycle is defined by the view controller.
A box view displays its contents inset inside a rectangular box.
A button implements a simple clickable region with text, which triggers a
function when clicked.

A checkbox is a type of button that is either on or off.

A combo box allows selection from multiple items in a compact button view.


CCControl is the base class for many selectable input items.
A CCImageView displays images on the screen.

A label displays a single line of text without wrapping.

An outline view is a type of table which displays hierarchical data in groups
which can be expanded and collapsed.

A CCProgressIndicator displays a progress bar or wheel.



A radio button is a type of button that can only have one button active in
a group. Groups are established when radio buttons share superviews and
state change actions.

A scrolling text view displays long text in a vertically scrolling view.
A scroll view displays larger content inside a smaller view, which can be
scrolled to see the whole content.

A segmented button displays multiple buttons in a single view, with only one
selected at a time.

A slider allows input of a progressive value.

A stack view arranges child views in an either vertical or horizontal fashion,
automatically resizing each view to fit, with optional weighting.

A table view displays rows of content separated into columns, with the ability
to select one or more rows. Data is sourced from an external object
(CCTableViewDataSource), which is used to precisely set up the configuration
of each row, column and cell. The view is kept in a scroll view, which allows
automatic overflow control.

This class defines a default instance of CCTableViewDataSource which reads
data from a 2D array of strings or numbers.
A tab view allows switching between multiple tabbed views in a single parent
view, using a segmented button to select each tab.

A text field allows inputting text in a single line.


A text view displays multiple lines of text with wrapping.

A toggle button is a version of a regular button which toggles between on and off when clicked.
The CCView class is the base for all displayable objects on screen. It handles rendering the element, resizing subviews, and user interaction. Subclasses can override the default behavior to provide custom elements.
An outline view data source provides the content for an outline view.
Use this interface to receive messages on certain events from an outline view.
A table view data source provides the information necessary to construct a
CCTableView. It reports the number of rows and columns in the table, as well
as the size of columns and contents of each cell. A default implementation
for basic data is available in CCTableViewStaticDataSource.
Use this interface to receive messages on certain events from a table view.
A dialog displays a new window on the screen with the specified message.

The CCScreen class represents a single display that holds windows. This is usually the main terminal screen, but it could also be a monitor.
The CCWindow class represents a window displayed on screen. A CCWindow is backed by a window region on the window server, and can be moved around, stacked, and hidden. It controls all drawing to the window region it owns, holds the view controller and views that are drawn to the region, and handles events sent from the window server to the window.
The CCWindowManagerConnection interface is used by classes that implement a connection to a window server, which hosts all of the windows and handles things like drawing, decorations, positioning, and occlusion.
The CCWindowManagerFramebuffer interface represents the underlying framebuffer that is used as a render target for a window. It contains methods similar to a CraftOS window, but with additional methods relating to window ordering and other window manager-specific tasks. This type can only be constructed through a CCWindowManagerConnection instance.
Holds parameters for window creation.
Creates a new window manager connection for the current platform's default connection type.
Stores parameters that define the appearance for an application.