Rose
|
ToDo: There is an issue that the initial scroll interaction is lost if the click/press lands on a Widget and not a Container (by user observation). More...
Namespaces | |
color | |
Color management. | |
sdl | |
Class and functions that are used to access the SDL2 api. | |
util | |
Utility Functions. | |
Classes | |
class | Animation |
class | Animator |
class | AntiAliasedDrawing |
class | Application |
class | Button |
A configurable button class. More... | |
class | ButtonFrame |
A frame that supports ButtonSemantics. More... | |
class | ButtonSemantics |
Interpret interaction events to drive button operation semantics. More... | |
class | Cache |
A collection CacheObject objects associated with. More... | |
class | CacheFileSystem |
A CacheLocalStore implemented on the local filesystem. More... | |
class | CacheLocalStore |
A pure virtual class specifying the interface to a cache store system. More... | |
class | CacheObject |
The base class for an object to be cached. More... | |
class | CacheSource |
Virtual ase class for data sources to be cached. More... | |
class | CacheWebSource |
A cache source on the World Wide Web. More... | |
class | CapsLockKey |
A specialized ImageKey for Caps Lock. More... | |
class | CascadeButton |
A Button Widget that will popup a cascade menu. More... | |
class | CelestialOverlay |
Add observable celestial objects to MapProjection. More... | |
class | ClearSkyEphemeris |
class | Column |
class | Command |
Execute a program and gather the output. More... | |
class | CommonSignals |
class | ConfigDialog |
Present a dialog to allow the user to configure the program. More... | |
class | Container |
A container which holds the subordinate Node objects. More... | |
class | ContainerTypeError |
An exception to indicate an unexpected container type at runtime. More... | |
class | ContainerView |
Provide a view of a standard container type. More... | |
class | DateBox |
class | Dialog |
A Dialog is a way for the application to have a brief conversation with the user. More... | |
struct | DialogActionButton |
The data required to creat a DialogActionButton. More... | |
struct | Elastic |
A stream manipulator to set a Widget elastic value. More... | |
class | Environment |
class | Ephemeris |
class | EventSemantics |
A class to process event semantics. More... | |
class | ExitDialog |
A Dialog specialized to guard the exit path. More... | |
struct | FillToEnd |
A manipulator to set the fill to end flag on a Box widget or subclasses. More... | |
class | FontCache |
Cache storage for requested fonts. More... | |
class | FontDestroy |
A functor to destroy a TTF_Font. More... | |
struct | FontMetrics |
The size metrics that pertain to a particular font. More... | |
struct | FontName |
A structure to pass a Font name to a Widget through a manipulator. More... | |
class | Frame |
struct | FrameColor |
class | FrameElements |
Encapsulation of the visual elements of a Frame. More... | |
class | FrameLayoutManager |
struct | FrameSettings |
class | Gauge |
Display a numeric value as a graphic indicator. More... | |
class | GeoPosition |
An abstraction of a geographic position. More... | |
class | Grid |
class | GridLayout |
class | GridOverlay |
Draw grid lines to annotate the MapProjection. More... | |
struct | IconImage |
The information required to create an Icon from the Entypo Font. More... | |
struct | Id |
A type to specify an Id value. More... | |
struct | IdPath |
A path of objects by Id. More... | |
class | Image |
class | ImageButton |
class | ImageButtonLayoutManager |
class | ImageKey |
ImageKey More... | |
class | ImageLabel |
class | ImageRepository |
A cache of texture data structures that may be shared by other widgets to render textures. More... | |
class | ImageStore |
class | ImageView |
Display an image texture. More... | |
class | InputParser |
Parse command line arguments. More... | |
struct | InternalSpace |
A manipulator to specify the internal spacing between children along the primary axis. More... | |
class | Keyboard |
A touch keyboard. More... | |
class | KeyboardPlugin |
Encapsulate the KeyboardSpec specification and build function. More... | |
struct | KeySpec |
class | LayoutHint |
class | LayoutManager |
A pure virtual base class for layout managers. More... | |
class | LayoutManagerError |
An exception to indicate runtime error during layout. More... | |
class | LetterKey |
A key which produces a character of input. More... | |
class | Line |
An abstraction of a line defined by two end points. More... | |
class | LinearLayout |
class | LinearScale |
A base class for Widgets that are base on a linear value input or output eg) Slider and Gauge. More... | |
class | Manager |
A Widget which manages contained Widgets. More... | |
class | MapProjection |
struct | MenuButtonData |
Information to specify a Menu Button. More... | |
struct | MinimumOrthogonal |
A manipulator to specify the minimum orthogonal size of a Widget, if supported. More... | |
class | Node |
A class to define a polymorphic member in an N-Array tree. More... | |
class | NodeRangeError |
class | NodeTypeError |
class | NumberPad |
A numeric keypad KeyboardPlugin. More... | |
class | Overlay |
A layout manager for to create overlays on the Container. More... | |
struct | OverlayImageSpec |
class | Padding |
Abstraction of space consumed around an object for space, borders, etc. More... | |
class | Parent |
A type used to extract the parent from a Widget. More... | |
class | PartitionedLine |
Partition lines across discontinuities introduced by the current map projection. More... | |
class | PlacementLayout |
struct | PointSize |
class | Popup |
An undecorated window that is transient by nature. More... | |
class | PopupMenu |
A Menu that can be popped up by a CascadeButton. More... | |
class | PopupWindow |
A decorated transient Window. More... | |
class | Position |
A position in integer (x, y) co-ordinates. More... | |
struct | Protocol |
A convenience structure that composes Signal and Slot types from a protocol signature, and provides a Slot factory. More... | |
class | QUERTY |
A KeyboardPlugin for a QWERTY keyboard. More... | |
class | RadioBehavior |
class | Rectangle |
A composite of a Position and a Size. More... | |
struct | RegexPattern |
class | ReverseContainerView |
Provide a reverse view of a standard container type. More... | |
class | RoseLogicError |
Thrown when a structural logic error is detected at runtime. More... | |
class | RoseRuntimeError |
Thrown when a runtime error has occurred. More... | |
class | Row |
class | SatelliteDataDisplay |
Display satellite orbital data. More... | |
class | SatelliteDataSet |
A class to manage a number of SatelliteDataDisplay objects. More... | |
struct | SatelliteMetaData |
class | SatelliteModel |
class | SatelliteObservation |
struct | SatellitePassData |
class | Screen |
An abstraction of the available display screen. More... | |
class | ScrollArea |
class ScrollArea brief A Container that provides scrolling to a single child. More... | |
struct | SemanticGesture |
The type of semantic gesture supported by a Widget. More... | |
class | Settings |
A settings database. More... | |
struct | SettingsUpdateProtocol |
class | Signal |
The transmitter portion of a Signal-Slot transmitter receiver pair. More... | |
class | SimpleLayout |
A Simple layout manager. More... | |
class | Size |
A size in integer dimensions. More... | |
class | Slider |
An analog input Widget. More... | |
struct | Slot |
The receiver portion of a Signal-Slot transmitter receiver pair. More... | |
class | Sprite |
A sprite is a free roaming texture that is directed using Signals and Slots. More... | |
class | StackLayout |
struct | StartOffset |
A manipulator to specify the an offset for the first child of a Container along the primary axis. More... | |
struct | State |
A type to specify a state. More... | |
class | SystemData |
Gather system data to transmit on Signal objects. More... | |
class | SystemMonitor |
A widget to display some system values to be monitored. More... | |
class | Tab |
A Tab Widget. More... | |
class | TabBody |
A TabBody manages a number of TabPages. More... | |
class | TabPage |
A TabPage manages a single Widget which displays the page contents. More... | |
class | TestWidget |
class | Text |
Encapsulation of code for rendering Text. More... | |
class | TextButton |
class | TextButtonLayoutManager |
class | TextField |
An Widget to edit a small amount of text. More... | |
struct | TextFieldRegex |
class | TextLabel |
class | Theme |
A set of values that provide defaults forming a cohesive visual and operational theme. More... | |
class | TimeBox |
class | TimeDateBox |
class | TimerTick |
Transmit regular signals synchronized to the system clock. More... | |
struct | ToUpperCase |
struct | TrackedSatellite |
class | UnsavedDialog |
A Dialog specialized to guard the exit path. More... | |
class | Visual |
The properties common to all visual objects on the screen. More... | |
class | WebCache |
Fetch web resources caching them in the local filesystem following XDG specifications. More... | |
struct | WebCacheItem |
class | WebFileCache |
A cache with a source on the World Wide Web, and local store on the filesystem. More... | |
class | Widget |
An element of the application user interface. More... | |
class | Window |
A Window is a visual abstraction of a number of related user interface objects. More... | |
class | XDGFilePaths |
A class to determine and provide searching of XDG standard files paths. More... | |
Typedefs | |
using | MapPositionType = int |
using | EventCallback = std::function< bool()> |
Basic event callback with no argumetns. | |
using | ScrollCallback = std::function< bool(Position< int > deltaPos)> |
Mouse scroll wheel callback. More... | |
using | ButtonCallback = std::function< bool(bool pressed, uint button, uint clicks)> |
Mouse button callback. More... | |
using | MouseMotionCallback = std::function< bool(bool pressed, uint state, Position< int > mousePosition, Position< int > relativePosition)> |
Mouse motion callback. More... | |
using | ButtonDisplayCallback = std::function< void(ButtonDisplayState buttonDisplayState)> |
Button display state callback. More... | |
using | ButtonStateChangeCallback = std::function< void(ButtonStateChange buttonStateChange)> |
Button state change callback. More... | |
using | ButtonCommandCallback = std::function< void(ButtonStateChange buttonStateChange, uint commandId)> |
Button command callback. More... | |
using | KeyboardShortcutCallback = std::function< void(uint32_t shortcutCode, bool state, uint repeat)> |
Keyboard shortcut callback. More... | |
using | TextInputCallback = std::function< void(const std::string &text)> |
Text input callback. More... | |
using | KeyboardFocusCallback = std::function< void(bool hasFocus)> |
Keyboard focus callback. More... | |
using | KeyboardEventCallback = std::function< void(const SDL_KeyboardEvent &keyboardEvent)> |
using | GraphicsModelFrameProtocol = Protocol< uint32_t > |
Protocol for notifying objects that the application is about to start a new frame. | |
using | FontPointer = std::shared_ptr< TTF_Font > |
Type for TTF smart pointer. | |
using | FontCacheKey = std::pair< std::string, int > |
Type for TTF cache key. | |
using | FontCacheStore = std::map< FontCacheKey, FontPointer > |
Type for TTF cache store. | |
using | IdPathElement = std::pair< std::string, std::string > |
using | TickProtocol = Protocol< int > |
using | WebCacheProtocol = Protocol< uint32_t, long > |
using | CacheURI = std::string |
Type for a cache URI value. | |
using | CacheObjectURI = std::string |
Type for a cache object URI value. | |
using | GaugeValueLimits = std::array< float, 6 > |
Type of Gauge values. | |
using | GaugeValueHues = std::array< uint32_t, 5 > |
Type of Gauge colors. | |
template<size_t N> | |
using | KeySpec = std::array< uint32_t, N > |
A key specification of depth N. | |
template<size_t M, size_t N> | |
using | KeySpecRow = std::array< KeySpec< N >, M > |
A row of KeySpec specifications. | |
using | KSS = std::array< char, 5 > |
Type to help construct a KeySpec from a string. | |
template<size_t R, size_t M, size_t N> | |
using | KeyboardSpec = std::array< std::array< KeySpec< N >, M >, R > |
Type for a full Keyboard specification. | |
using | MenuDataList = std::vector< MenuButtonData > |
The MenuDataList type. | |
using | TabHeader = Row |
The type to use as the TabHeader. | |
using | FontSize = int |
Type specifier to pass a Font size to a Widget through a manipulator. | |
using | ImageId = uint32_t |
An opaque type used to refer to a TextureData object in the cache. | |
using | SignalToken = uint32_t |
A type definition for SignalToken used to identify the source of a Signal. | |
using | LinearScaleSignalType = std::pair< float, SignalToken > |
Type definition for the LinearScale Signal type. | |
Functions | |
void | solveSphere (double A, double b, double cc, double sc, double &cap, double &Bp) |
double | MoonPhase () |
Calculate the current phase of the moon in days between [0..2*M_PI]. More... | |
GeoPosition | projected (GeoPosition location, double angDist, double bearing) |
double | range (GeoPosition p0, GeoPosition p1) |
std::tuple< bool, double, double > | xyToAzLatLong (int x, int y, const Size &mapSize, const GeoPosition &location, double siny, double cosy) |
Transform a Mercator map pixel into an Azimuthal map latitude and longitude in radians. More... | |
std::tuple< double, double > | subSolar () |
Compute the sub-solar geographic coordinates, used in plotting the solar ilumination. More... | |
int | pixel (SDL_Renderer *renderer, Sint16 x, Sint16 y) |
Draw pixel in currently set color. More... | |
int | pixelRGBAWeight (SDL_Renderer *renderer, Sint16 x, Sint16 y, Uint8 r, Uint8 g, Uint8 b, Uint8 a, Uint32 weight) |
Draw pixel with blending enabled and using alpha weight on color. More... | |
int | pixelColor (SDL_Renderer *renderer, Sint16 x, Sint16 y, Uint32 color) |
Draw pixel with blending enabled if a<255. More... | |
int | pixelRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw pixel with blending enabled if a<255. More... | |
int | hline (SDL_Renderer *renderer, Sint16 x1, Sint16 x2, Sint16 y) |
Draw horizontal line in currently set color. More... | |
int | hlineColor (SDL_Renderer *renderer, Sint16 x1, Sint16 x2, Sint16 y, Uint32 color) |
Draw horizontal line with blending. More... | |
int | hlineRGBA (SDL_Renderer *renderer, Sint16 x1, Sint16 x2, Sint16 y, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw horizontal line with blending. More... | |
int | vline (SDL_Renderer *renderer, Sint16 x, Sint16 y1, Sint16 y2) |
Draw vertical line in currently set color. More... | |
int | vlineColor (SDL_Renderer *renderer, Sint16 x, Sint16 y1, Sint16 y2, Uint32 color) |
Draw vertical line with blending. More... | |
int | vlineRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y1, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw vertical line with blending. More... | |
int | rectangleColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint32 color) |
Draw rectangle with blending. More... | |
int | rectangleRGBA (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw rectangle with blending. More... | |
int | roundedRectangleColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 rad, Uint32 color) |
Draw rounded-corner rectangle with blending. More... | |
int | roundedRectangleRGBA (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw rounded-corner rectangle with blending. More... | |
int | roundedBoxColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 rad, Uint32 color) |
Draw rounded-corner box (filled rectangle) with blending. More... | |
int | roundedBoxRGBA (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw rounded-corner box (filled rectangle) with blending. More... | |
int | boxColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint32 color) |
Draw box (filled rectangle) with blending. More... | |
int | boxRGBA (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw box (filled rectangle) with blending. More... | |
int | line (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2) |
Draw line with alpha blending using the currently set color. More... | |
int | lineColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint32 color) |
Draw line with alpha blending. More... | |
int | lineRGBA (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw line with alpha blending. More... | |
int | _aalineRGBA (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a, int draw_endpoint) |
Internal function to draw anti-aliased line with alpha blending and endpoint control. More... | |
int | aalineColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint32 color) |
Draw anti-aliased line with alpha blending. More... | |
int | aalineRGBA (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw anti-aliased line with alpha blending. More... | |
int | circleColor (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Uint32 color) |
Draw circle with blending. More... | |
int | circleRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw circle with blending. More... | |
int | arcColor (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint32 color) |
Arc with blending. More... | |
int | arcRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Arc with blending. More... | |
int | aacircleColor (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Uint32 color) |
Draw anti-aliased circle with blending. More... | |
int | aacircleRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw anti-aliased circle with blending. More... | |
int | _drawQuadrants (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 dx, Sint16 dy, Sint32 f) |
Internal function to draw pixels or lines in 4 quadrants. More... | |
int | _ellipseRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint8 r, Uint8 g, Uint8 b, Uint8 a, Sint32 f) |
int | ellipseColor (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint32 color) |
Draw ellipse with blending. More... | |
int | ellipseRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw ellipse with blending. More... | |
int | filledCircleColor (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Uint32 color) |
Draw filled circle with blending. More... | |
int | filledCircleRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw filled circle with blending. More... | |
int | aaellipseColor (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint32 color) |
Draw anti-aliased ellipse with blending. More... | |
int | aaellipseRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw anti-aliased ellipse with blending. More... | |
int | filledEllipseColor (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint32 color) |
Draw filled ellipse with blending. More... | |
int | filledEllipseRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw filled ellipse with blending. More... | |
int | _pieRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint8 r, Uint8 g, Uint8 b, Uint8 a, Uint8 filled) |
Internal float (low-speed) pie-calc implementation by drawing polygons. More... | |
int | pieColor (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint32 color) |
Draw pie (outline) with alpha blending. More... | |
int | pieRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw pie (outline) with alpha blending. More... | |
int | filledPieColor (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint32 color) |
Draw filled pie with alpha blending. More... | |
int | filledPieRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw filled pie with alpha blending. More... | |
int | trigonColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color) |
Draw trigon (triangle outline) with alpha blending. More... | |
int | trigonRGBA (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw trigon (triangle outline) with alpha blending. More... | |
int | aatrigonColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color) |
Draw anti-aliased trigon (triangle outline) with alpha blending. More... | |
int | aatrigonRGBA (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw anti-aliased trigon (triangle outline) with alpha blending. More... | |
int | filledTrigonColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color) |
Draw filled trigon (triangle) with alpha blending. More... | |
int | filledTrigonRGBA (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw filled trigon (triangle) with alpha blending. More... | |
int | polygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color) |
Draw polygon with alpha blending. More... | |
int | polygon (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n) |
Draw polygon with the currently set color and blend mode. More... | |
int | polygonRGBA (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw polygon with alpha blending. More... | |
int | aapolygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color) |
Draw anti-aliased polygon with alpha blending. More... | |
int | aapolygonRGBA (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw anti-aliased polygon with alpha blending. More... | |
int | _gfxPrimitivesCompareInt (const void *a, const void *b) |
Internal helper qsort callback functions used in filled polygon drawing. More... | |
int | filledPolygonRGBAMT (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a, int **polyInts, int *polyAllocated) |
Draw filled polygon with alpha blending (multi-threaded capable). More... | |
int | filledPolygonColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color) |
Draw filled polygon with alpha blending. More... | |
int | filledPolygonRGBA (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw filled polygon with alpha blending. More... | |
int | _HLineTextured (SDL_Renderer *renderer, Sint16 x1, Sint16 x2, Sint16 y, SDL_Texture *texture, int texture_w, int texture_h, int texture_dx, int texture_dy) |
Internal function to draw a textured horizontal line. More... | |
int | texturedPolygonMT (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, SDL_Surface *texture, int texture_dx, int texture_dy, int **polyInts, int *polyAllocated) |
Draws a polygon filled with the given texture (Multi-Threading Capable). More... | |
int | texturedPolygon (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, SDL_Surface *texture, int texture_dx, int texture_dy) |
Draws a polygon filled with the given texture. More... | |
double | _evaluateBezier (double *data, int ndata, double t) |
Internal function to calculate bezier interpolator of data array with ndata values at position 't'. More... | |
int | bezierColor (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, int s, Uint32 color) |
Draw a bezier curve with alpha blending. More... | |
int | bezierRGBA (SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, int s, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw a bezier curve with alpha blending. More... | |
int | thickLineColor (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 width, Uint32 color) |
Draw a thick line with alpha blending. More... | |
int | thickLineRGBA (SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 width, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Draw a thick line with alpha blending. More... | |
void | gfxPrimitivesSetFont (const void *fontdata, Uint32 cw, Uint32 ch) |
void | gfxPrimitivesSetFontRotation (Uint32 rotation) |
int | characterColor (SDL_Renderer *renderer, Sint16 x, Sint16 y, char c, Uint32 color) |
int | characterRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, char c, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
int | stringColor (SDL_Renderer *renderer, Sint16 x, Sint16 y, const char *s, Uint32 color) |
int | stringRGBA (SDL_Renderer *renderer, Sint16 x, Sint16 y, const char *s, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
template<class Curve , typename ... Args> | |
std::unique_ptr< Curve > | curve (Args ... args) |
auto | textSizeUTF8 (FontPointer &fontPointer, const std::string &text) |
Get the size of a UTF8 string. More... | |
std::tuple< int, int, int, int, int > | getGlyphMetrics (FontPointer &font, char glyph) |
auto | getFontMetrics (FontPointer &font) |
Get the font metrics of the current font. More... | |
auto | fetchFont (FontCache &fontCache, const std::string &fontName, int fontSize) |
Fetch a font. More... | |
ImageId | toImageId (int id) |
int | fmImageId (ImageId id) |
void | copyFullTexture (gm::Context &renderer, gm::Texture &src, gm::Texture &dst) |
gm::Surface | createBlankSurface (int size) |
std::optional< int > | getHintValue (const Visual::ValueMap &map, LayoutHint::GridLayoutHint hint) |
template<typename I > | |
IdPath | parsePathIdString (I inputString) |
std::array< char, 8 > | utf8 (int c) |
template<typename I = int> | |
constexpr I | WINDOWPOS_UNDEFINED_DISPLAY (uint display=0) |
template<typename I = int> | |
constexpr I | WINDOWPOS_CENTERED_DISPLAY (uint display=0) |
template<typename U , typename C > | |
bool | oneFlagOf (U flag, C container) |
template<typename Arg , typename... Args> | |
std::string | StringCompositor (Arg &&arg, Args &&... args) |
Composite a pack of arguments that are streamable to a string. More... | |
template<class Layout , typename ... Args> | |
std::unique_ptr< Layout > | makeLayout (Args ... args) |
template<class WidgetClass , typename ... Args> | |
std::shared_ptr< WidgetClass > | wdg (Args ... args) |
Create a Widget. More... | |
template<typename EnumClassType > | |
bool | unset (EnumClassType value) |
Determine if an enumerated value is unset. More... | |
constexpr auto | indexValue (const GaugeIndex &g) |
GaugeIndex & | operator++ (GaugeIndex &gaugeIndex) |
GaugeIndex pre-increment operator. More... | |
GaugeIndex | operator+ (const GaugeIndex &gaugeIndex, unsigned long increment) |
Add an unsigned integer to a GaugeIndex. More... | |
template<size_t N> | |
constexpr auto | makeKeySpec (const char *values) noexcept |
template<class I , typename Arg , typename ... Args> | |
constexpr I | makeKeySpecInit (I first, I last, Arg arg, Args ... args) noexcept |
template<size_t N, typename ... Args> | |
constexpr auto | makeKeySpec (Args ... args) noexcept |
ToDo: There is an issue that the initial scroll interaction is lost if the click/press lands on a Widget and not a Container (by user observation).
using rose::ButtonCallback = typedef std::function<bool(bool pressed, uint button, uint clicks)> |
Mouse button callback.
pressed | True when a button has been pressed, false when released. |
button | A cumulative mask of mouse button state. |
clicks | The number of multiple clicks reported by the SDL API. |
using rose::ButtonCommandCallback = typedef std::function<void(ButtonStateChange buttonStateChange, uint commandId)> |
Button command callback.
buttonStateChange | Indicates the cange in state of the button. |
commandId | Identifies the button command function to the receiver. |
using rose::ButtonDisplayCallback = typedef std::function<void(ButtonDisplayState buttonDisplayState)> |
Button display state callback.
Called when interaction events change the display state of a button which indicate to the user the evolution of the state of the button.
buttonDisplayState | A ButtonDisplayState value indicating how the button should be displayed. |
using rose::ButtonStateChangeCallback = typedef std::function<void(ButtonStateChange buttonStateChange)> |
Button state change callback.
buttonStateChange | Indicates the change in state of the button. |
using rose::KeyboardFocusCallback = typedef std::function<void(bool hasFocus)> |
using rose::KeyboardShortcutCallback = typedef std::function<void(uint32_t shortcutCode, bool state, uint repeat)> |
Keyboard shortcut callback.
Called when a registered ALt-Key is pressed
shortcutCode | The shortcut code defined by the widget bound to the action. |
state | True if the key is pressed, false if released. |
using rose::MouseMotionCallback = typedef std::function<bool(bool pressed, uint state, Position<int> mousePosition, Position<int> relativePosition)> |
Mouse motion callback.
pressed | True if a mouse button is pressed. |
state | A cumulative mask of mouse button state. |
mousePostion | The position of the mouse pointer on the Screen. |
relativePostion | The mouse position relative the the last reported position. |
using rose::ScrollCallback = typedef std::function<bool(Position<int> deltaPos)> |
Mouse scroll wheel callback.
deltaPos | The change in position indicated by scroll wheel motion. |
using rose::TextInputCallback = typedef std::function<void(const std::string& text)> |
Text input callback.
text | The keyboard input. |
|
strong |
|
strong |
|
strong |
|
strong |
Keyboard modes (cases)
Enumerator | |
---|---|
LowerCase | Lower case letters. |
UpperCase | Upper case letters. |
Numbers | Numbers and symbols. |
Symbols | Numbers and more symbols. |
|
strong |
|
strong |
|
strong |
Enumerator | |
---|---|
Mercator | Standard Mercator split a the International Date Line. |
StationMercator | Mercator split so the Station location is centred. |
StationAzimuthal | Azimuthal with the Station location centered on the left hemisphere. |
|
strong |
enum rose::RendererFlags : uint32_t |
Flags used when creating a rendering context.
int rose::_aalineRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a, | ||
int | draw_endpoint | ||
) |
Internal function to draw anti-aliased line with alpha blending and endpoint control.
This implementation of the Wu antialiasing code is based on Mike Abrash's DDJ article which was reprinted as Chapter 42 of his Graphics Programming Black Book, but has been optimized to work with SDL and utilizes 32-bit fixed-point arithmetic by A. Schiffler. The endpoint control allows the supression to draw the last pixel useful for rendering continous aa-lines with alpha<255.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the aa-line. |
y1 | Y coordinate of the first point of the aa-line. |
x2 | X coordinate of the second point of the aa-line. |
y2 | Y coordinate of the second point of the aa-line. |
r | The red value of the aa-line to draw. |
g | The green value of the aa-line to draw. |
b | The blue value of the aa-line to draw. |
a | The alpha value of the aa-line to draw. |
draw_endpoint | Flag indicating if the endpoint should be drawn; draw if non-zero. |
int rose::_drawQuadrants | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | dx, | ||
Sint16 | dy, | ||
Sint32 | f | ||
) |
Internal function to draw pixels or lines in 4 quadrants.
renderer | The renderer to draw on. |
x | X coordinate of the center of the quadrant. |
y | Y coordinate of the center of the quadrant. |
dx | X offset in pixels of the corners of the quadrant. |
dy | Y offset in pixels of the corners of the quadrant. |
f | Flag indicating if the quadrant should be filled (1) or not (0). |
double rose::_evaluateBezier | ( | double * | data, |
int | ndata, | ||
double | t | ||
) |
Internal function to calculate bezier interpolator of data array with ndata values at position 't'.
data | Array of values. |
ndata | Size of array. |
t | Position for which to calculate interpolated value. t should be between [0, ndata]. |
int rose::_gfxPrimitivesCompareInt | ( | const void * | a, |
const void * | b | ||
) |
Internal helper qsort callback functions used in filled polygon drawing.
a | The surface to draw on. |
b | Vertex array containing X coordinates of the points of the polygon. |
int rose::_HLineTextured | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | x2, | ||
Sint16 | y, | ||
SDL_Texture * | texture, | ||
int | texture_w, | ||
int | texture_h, | ||
int | texture_dx, | ||
int | texture_dy | ||
) |
Internal function to draw a textured horizontal line.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point (i.e. left) of the line. |
x2 | X coordinate of the second point (i.e. right) of the line. |
y | Y coordinate of the points of the line. |
texture | The texture to retrieve color information from. |
texture_w | The width of the texture. |
texture_h | The height of the texture. |
texture_dx | The X offset for the texture lookup. |
texture_dy | The Y offset for the textured lookup. |
int rose::_pieRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rad, | ||
Sint16 | start, | ||
Sint16 | end, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a, | ||
Uint8 | filled | ||
) |
Internal float (low-speed) pie-calc implementation by drawing polygons.
Note: Determines vertex array and uses polygon or filledPolygon drawing routines to render.
renderer | The renderer to draw on. |
x | X coordinate of the center of the pie. |
y | Y coordinate of the center of the pie. |
rad | Radius in pixels of the pie. |
start | Starting radius in degrees of the pie. |
end | Ending radius in degrees of the pie. |
r | The red value of the pie to draw. |
g | The green value of the pie to draw. |
b | The blue value of the pie to draw. |
a | The alpha value of the pie to draw. |
filled | Flag indicating if the pie should be filled (=1) or not (=0). |
int rose::aacircleColor | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rad, | ||
Uint32 | color | ||
) |
Draw anti-aliased circle with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the aa-circle. |
y | Y coordinate of the center of the aa-circle. |
rad | Radius in pixels of the aa-circle. |
color | The color value of the aa-circle to draw (0xRRGGBBAA). |
int rose::aacircleRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rad, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw anti-aliased circle with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the aa-circle. |
y | Y coordinate of the center of the aa-circle. |
rad | Radius in pixels of the aa-circle. |
r | The red value of the aa-circle to draw. |
g | The green value of the aa-circle to draw. |
b | The blue value of the aa-circle to draw. |
a | The alpha value of the aa-circle to draw. |
int rose::aaellipseColor | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rx, | ||
Sint16 | ry, | ||
Uint32 | color | ||
) |
Draw anti-aliased ellipse with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the aa-ellipse. |
y | Y coordinate of the center of the aa-ellipse. |
rx | Horizontal radius in pixels of the aa-ellipse. |
ry | Vertical radius in pixels of the aa-ellipse. |
color | The color value of the aa-ellipse to draw (0xRRGGBBAA). |
int rose::aaellipseRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rx, | ||
Sint16 | ry, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw anti-aliased ellipse with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the aa-ellipse. |
y | Y coordinate of the center of the aa-ellipse. |
rx | Horizontal radius in pixels of the aa-ellipse. |
ry | Vertical radius in pixels of the aa-ellipse. |
r | The red value of the aa-ellipse to draw. |
g | The green value of the aa-ellipse to draw. |
b | The blue value of the aa-ellipse to draw. |
a | The alpha value of the aa-ellipse to draw. |
int rose::aalineColor | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Uint32 | color | ||
) |
Draw anti-aliased line with alpha blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the aa-line. |
y1 | Y coordinate of the first point of the aa-line. |
x2 | X coordinate of the second point of the aa-line. |
y2 | Y coordinate of the second point of the aa-line. |
color | The color value of the aa-line to draw (0xRRGGBBAA). |
int rose::aalineRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw anti-aliased line with alpha blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the aa-line. |
y1 | Y coordinate of the first point of the aa-line. |
x2 | X coordinate of the second point of the aa-line. |
y2 | Y coordinate of the second point of the aa-line. |
r | The red value of the aa-line to draw. |
g | The green value of the aa-line to draw. |
b | The blue value of the aa-line to draw. |
a | The alpha value of the aa-line to draw. |
int rose::aapolygonColor | ( | SDL_Renderer * | renderer, |
const Sint16 * | vx, | ||
const Sint16 * | vy, | ||
int | n, | ||
Uint32 | color | ||
) |
Draw anti-aliased polygon with alpha blending.
renderer | The renderer to draw on. |
vx | Vertex array containing X coordinates of the points of the aa-polygon. |
vy | Vertex array containing Y coordinates of the points of the aa-polygon. |
n | Number of points in the vertex array. Minimum number is 3. |
color | The color value of the aa-polygon to draw (0xRRGGBBAA). |
int rose::aapolygonRGBA | ( | SDL_Renderer * | renderer, |
const Sint16 * | vx, | ||
const Sint16 * | vy, | ||
int | n, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw anti-aliased polygon with alpha blending.
renderer | The renderer to draw on. |
vx | Vertex array containing X coordinates of the points of the aa-polygon. |
vy | Vertex array containing Y coordinates of the points of the aa-polygon. |
n | Number of points in the vertex array. Minimum number is 3. |
r | The red value of the aa-polygon to draw. |
g | The green value of the aa-polygon to draw. |
b | The blue value of the aa-polygon to draw. |
a | The alpha value of the aa-polygon to draw. |
int rose::aatrigonColor | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Sint16 | x3, | ||
Sint16 | y3, | ||
Uint32 | color | ||
) |
Draw anti-aliased trigon (triangle outline) with alpha blending.
Note: Creates vertex array and uses aapolygon routine to render.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the aa-trigon. |
y1 | Y coordinate of the first point of the aa-trigon. |
x2 | X coordinate of the second point of the aa-trigon. |
y2 | Y coordinate of the second point of the aa-trigon. |
x3 | X coordinate of the third point of the aa-trigon. |
y3 | Y coordinate of the third point of the aa-trigon. |
color | The color value of the aa-trigon to draw (0xRRGGBBAA). |
int rose::aatrigonRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Sint16 | x3, | ||
Sint16 | y3, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw anti-aliased trigon (triangle outline) with alpha blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the aa-trigon. |
y1 | Y coordinate of the first point of the aa-trigon. |
x2 | X coordinate of the second point of the aa-trigon. |
y2 | Y coordinate of the second point of the aa-trigon. |
x3 | X coordinate of the third point of the aa-trigon. |
y3 | Y coordinate of the third point of the aa-trigon. |
r | The red value of the aa-trigon to draw. |
g | The green value of the aa-trigon to draw. |
b | The blue value of the aa-trigon to draw. |
a | The alpha value of the aa-trigon to draw. |
int rose::arcColor | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rad, | ||
Sint16 | start, | ||
Sint16 | end, | ||
Uint32 | color | ||
) |
Arc with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the arc. |
y | Y coordinate of the center of the arc. |
rad | Radius in pixels of the arc. |
start | Starting radius in degrees of the arc. 0 degrees is down, increasing counterclockwise. |
end | Ending radius in degrees of the arc. 0 degrees is down, increasing counterclockwise. |
color | The color value of the arc to draw (0xRRGGBBAA). |
int rose::arcRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rad, | ||
Sint16 | start, | ||
Sint16 | end, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Arc with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the arc. |
y | Y coordinate of the center of the arc. |
rad | Radius in pixels of the arc. |
start | Starting radius in degrees of the arc. 0 degrees is down, increasing counterclockwise. |
end | Ending radius in degrees of the arc. 0 degrees is down, increasing counterclockwise. |
r | The red value of the arc to draw. |
g | The green value of the arc to draw. |
b | The blue value of the arc to draw. |
a | The alpha value of the arc to draw. |
int rose::bezierColor | ( | SDL_Renderer * | renderer, |
const Sint16 * | vx, | ||
const Sint16 * | vy, | ||
int | n, | ||
int | s, | ||
Uint32 | color | ||
) |
Draw a bezier curve with alpha blending.
renderer | The renderer to draw on. |
vx | Vertex array containing X coordinates of the points of the bezier curve. |
vy | Vertex array containing Y coordinates of the points of the bezier curve. |
n | Number of points in the vertex array. Minimum number is 3. |
s | Number of steps for the interpolation. Minimum number is 2. |
color | The color value of the bezier curve to draw (0xRRGGBBAA). |
int rose::bezierRGBA | ( | SDL_Renderer * | renderer, |
const Sint16 * | vx, | ||
const Sint16 * | vy, | ||
int | n, | ||
int | s, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw a bezier curve with alpha blending.
renderer | The renderer to draw on. |
vx | Vertex array containing X coordinates of the points of the bezier curve. |
vy | Vertex array containing Y coordinates of the points of the bezier curve. |
n | Number of points in the vertex array. Minimum number is 3. |
s | Number of steps for the interpolation. Minimum number is 2. |
r | The red value of the bezier curve to draw. |
g | The green value of the bezier curve to draw. |
b | The blue value of the bezier curve to draw. |
a | The alpha value of the bezier curve to draw. |
int rose::boxColor | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Uint32 | color | ||
) |
Draw box (filled rectangle) with blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point (i.e. top right) of the box. |
y1 | Y coordinate of the first point (i.e. top right) of the box. |
x2 | X coordinate of the second point (i.e. bottom left) of the box. |
y2 | Y coordinate of the second point (i.e. bottom left) of the box. |
color | The color value of the box to draw (0xRRGGBBAA). |
int rose::boxRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw box (filled rectangle) with blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point (i.e. top right) of the box. |
y1 | Y coordinate of the first point (i.e. top right) of the box. |
x2 | X coordinate of the second point (i.e. bottom left) of the box. |
y2 | Y coordinate of the second point (i.e. bottom left) of the box. |
r | The red value of the box to draw. |
g | The green value of the box to draw. |
b | The blue value of the box to draw. |
a | The alpha value of the box to draw. |
int rose::circleColor | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rad, | ||
Uint32 | color | ||
) |
Draw circle with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the circle. |
y | Y coordinate of the center of the circle. |
rad | Radius in pixels of the circle. |
color | The color value of the circle to draw (0xRRGGBBAA). |
int rose::circleRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rad, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw circle with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the circle. |
y | Y coordinate of the center of the circle. |
rad | Radius in pixels of the circle. |
r | The red value of the circle to draw. |
g | The green value of the circle to draw. |
b | The blue value of the circle to draw. |
a | The alpha value of the circle to draw. |
int rose::ellipseColor | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rx, | ||
Sint16 | ry, | ||
Uint32 | color | ||
) |
Draw ellipse with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the ellipse. |
y | Y coordinate of the center of the ellipse. |
rx | Horizontal radius in pixels of the ellipse. |
ry | Vertical radius in pixels of the ellipse. |
color | The color value of the ellipse to draw (0xRRGGBBAA). |
int rose::ellipseRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rx, | ||
Sint16 | ry, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw ellipse with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the ellipse. |
y | Y coordinate of the center of the ellipse. |
rx | Horizontal radius in pixels of the ellipse. |
ry | Vertical radius in pixels of the ellipse. |
r | The red value of the ellipse to draw. |
g | The green value of the ellipse to draw. |
b | The blue value of the ellipse to draw. |
a | The alpha value of the ellipse to draw. |
|
inline |
Fetch a font.
If the font at the size requested is in the cache, the cached value is returned. If the font can't be found the default font "FreeSans" is tried. If that can't be found and exception is thrown.
fontCache | The FontCache. |
fontName | The name of the font. |
fontSize | The point size of the font in pixels. |
int rose::filledCircleColor | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rad, | ||
Uint32 | color | ||
) |
Draw filled circle with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the filled circle. |
y | Y coordinate of the center of the filled circle. |
rad | Radius in pixels of the filled circle. |
color | The color value of the filled circle to draw (0xRRGGBBAA). |
int rose::filledCircleRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rad, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw filled circle with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the filled circle. |
y | Y coordinate of the center of the filled circle. |
rad | Radius in pixels of the filled circle. |
r | The red value of the filled circle to draw. |
g | The green value of the filled circle to draw. |
b | The blue value of the filled circle to draw. |
a | The alpha value of the filled circle to draw. |
int rose::filledEllipseColor | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rx, | ||
Sint16 | ry, | ||
Uint32 | color | ||
) |
Draw filled ellipse with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the filled ellipse. |
y | Y coordinate of the center of the filled ellipse. |
rx | Horizontal radius in pixels of the filled ellipse. |
ry | Vertical radius in pixels of the filled ellipse. |
color | The color value of the filled ellipse to draw (0xRRGGBBAA). |
int rose::filledEllipseRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rx, | ||
Sint16 | ry, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw filled ellipse with blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the filled ellipse. |
y | Y coordinate of the center of the filled ellipse. |
rx | Horizontal radius in pixels of the filled ellipse. |
ry | Vertical radius in pixels of the filled ellipse. |
r | The red value of the filled ellipse to draw. |
g | The green value of the filled ellipse to draw. |
b | The blue value of the filled ellipse to draw. |
a | The alpha value of the filled ellipse to draw. |
int rose::filledPieColor | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rad, | ||
Sint16 | start, | ||
Sint16 | end, | ||
Uint32 | color | ||
) |
Draw filled pie with alpha blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the filled pie. |
y | Y coordinate of the center of the filled pie. |
rad | Radius in pixels of the filled pie. |
start | Starting radius in degrees of the filled pie. |
end | Ending radius in degrees of the filled pie. |
color | The color value of the filled pie to draw (0xRRGGBBAA). |
int rose::filledPieRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rad, | ||
Sint16 | start, | ||
Sint16 | end, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw filled pie with alpha blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the filled pie. |
y | Y coordinate of the center of the filled pie. |
rad | Radius in pixels of the filled pie. |
start | Starting radius in degrees of the filled pie. |
end | Ending radius in degrees of the filled pie. |
r | The red value of the filled pie to draw. |
g | The green value of the filled pie to draw. |
b | The blue value of the filled pie to draw. |
a | The alpha value of the filled pie to draw. |
int rose::filledPolygonColor | ( | SDL_Renderer * | renderer, |
const Sint16 * | vx, | ||
const Sint16 * | vy, | ||
int | n, | ||
Uint32 | color | ||
) |
Draw filled polygon with alpha blending.
renderer | The renderer to draw on. |
vx | Vertex array containing X coordinates of the points of the filled polygon. |
vy | Vertex array containing Y coordinates of the points of the filled polygon. |
n | Number of points in the vertex array. Minimum number is 3. |
color | The color value of the filled polygon to draw (0xRRGGBBAA). |
int rose::filledPolygonRGBA | ( | SDL_Renderer * | renderer, |
const Sint16 * | vx, | ||
const Sint16 * | vy, | ||
int | n, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw filled polygon with alpha blending.
renderer | The renderer to draw on. |
vx | Vertex array containing X coordinates of the points of the filled polygon. |
vy | Vertex array containing Y coordinates of the points of the filled polygon. |
n | Number of points in the vertex array. Minimum number is 3. |
r | The red value of the filled polygon to draw. |
g | The green value of the filled polygon to draw. |
b | The blue value of the filed polygon to draw. |
a | The alpha value of the filled polygon to draw. |
int rose::filledPolygonRGBAMT | ( | SDL_Renderer * | renderer, |
const Sint16 * | vx, | ||
const Sint16 * | vy, | ||
int | n, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a, | ||
int ** | polyInts, | ||
int * | polyAllocated | ||
) |
Draw filled polygon with alpha blending (multi-threaded capable).
Note: The last two parameters are optional; but are required for multithreaded operation.
renderer | The renderer to draw on. |
vx | Vertex array containing X coordinates of the points of the filled polygon. |
vy | Vertex array containing Y coordinates of the points of the filled polygon. |
n | Number of points in the vertex array. Minimum number is 3. |
r | The red value of the filled polygon to draw. |
g | The green value of the filled polygon to draw. |
b | The blue value of the filled polygon to draw. |
a | The alpha value of the filled polygon to draw. |
polyInts | Preallocated, temporary vertex array used for sorting vertices. Required for multithreaded operation; set to nullptr otherwise. |
polyAllocated | Flag indicating if temporary vertex array was allocated. Required for multithreaded operation; set to nullptr otherwise. |
int rose::filledTrigonColor | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Sint16 | x3, | ||
Sint16 | y3, | ||
Uint32 | color | ||
) |
Draw filled trigon (triangle) with alpha blending.
Note: Creates vertex array and uses aapolygon routine to render.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the filled trigon. |
y1 | Y coordinate of the first point of the filled trigon. |
x2 | X coordinate of the second point of the filled trigon. |
y2 | Y coordinate of the second point of the filled trigon. |
x3 | X coordinate of the third point of the filled trigon. |
y3 | Y coordinate of the third point of the filled trigon. |
color | The color value of the filled trigon to draw (0xRRGGBBAA). |
int rose::filledTrigonRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Sint16 | x3, | ||
Sint16 | y3, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw filled trigon (triangle) with alpha blending.
Note: Creates vertex array and uses aapolygon routine to render.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the filled trigon. |
y1 | Y coordinate of the first point of the filled trigon. |
x2 | X coordinate of the second point of the filled trigon. |
y2 | Y coordinate of the second point of the filled trigon. |
x3 | X coordinate of the third point of the filled trigon. |
y3 | Y coordinate of the third point of the filled trigon. |
r | The red value of the filled trigon to draw. |
g | The green value of the filled trigon to draw. |
b | The blue value of the filled trigon to draw. |
a | The alpha value of the filled trigon to draw. |
|
inline |
Get the font metrics of the current font.
See TTF_FontHeight et al.
int rose::hline | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | x2, | ||
Sint16 | y | ||
) |
Draw horizontal line in currently set color.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point (i.e. left) of the line. |
x2 | X coordinate of the second point (i.e. right) of the line. |
y | Y coordinate of the points of the line. |
int rose::hlineColor | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | x2, | ||
Sint16 | y, | ||
Uint32 | color | ||
) |
Draw horizontal line with blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point (i.e. left) of the line. |
x2 | X coordinate of the second point (i.e. right) of the line. |
y | Y coordinate of the points of the line. |
color | The color value of the line to draw (0xRRGGBBAA). |
int rose::hlineRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | x2, | ||
Sint16 | y, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw horizontal line with blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point (i.e. left) of the line. |
x2 | X coordinate of the second point (i.e. right) of the line. |
y | Y coordinate of the points of the line. |
r | The red value of the line to draw. |
g | The green value of the line to draw. |
b | The blue value of the line to draw. |
a | The alpha value of the line to draw. |
int rose::line | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2 | ||
) |
Draw line with alpha blending using the currently set color.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the line. |
y1 | Y coordinate of the first point of the line. |
x2 | X coordinate of the second point of the line. |
y2 | Y coordinate of the second point of the line. |
int rose::lineColor | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Uint32 | color | ||
) |
Draw line with alpha blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the line. |
y1 | Y coordinate of the first point of the line. |
x2 | X coordinate of the second point of the line. |
y2 | Y coordinate of the seond point of the line. |
color | The color value of the line to draw (0xRRGGBBAA). |
int rose::lineRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw line with alpha blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the line. |
y1 | Y coordinate of the first point of the line. |
x2 | X coordinate of the second point of the line. |
y2 | Y coordinate of the second point of the line. |
r | The red value of the line to draw. |
g | The green value of the line to draw. |
b | The blue value of the line to draw. |
a | The alpha value of the line to draw. |
|
inline |
Calculate the current phase of the moon in days between [0..2*M_PI].
|
inline |
Add an unsigned integer to a GaugeIndex.
Throws std::domain_error if the resultant value is outside the define range.
gaugeIndex | The GaugeIndex to add to. |
increment | The amount to increment it by. |
|
inline |
GaugeIndex pre-increment operator.
Throws std::domain_error if the resultant value is outside the define range.
gaugeIndex | The GaugeIndex to increment. |
int rose::pieColor | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rad, | ||
Sint16 | start, | ||
Sint16 | end, | ||
Uint32 | color | ||
) |
Draw pie (outline) with alpha blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the pie. |
y | Y coordinate of the center of the pie. |
rad | Radius in pixels of the pie. |
start | Starting radius in degrees of the pie. |
end | Ending radius in degrees of the pie. |
color | The color value of the pie to draw (0xRRGGBBAA). |
int rose::pieRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Sint16 | rad, | ||
Sint16 | start, | ||
Sint16 | end, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw pie (outline) with alpha blending.
renderer | The renderer to draw on. |
x | X coordinate of the center of the pie. |
y | Y coordinate of the center of the pie. |
rad | Radius in pixels of the pie. |
start | Starting radius in degrees of the pie. |
end | Ending radius in degrees of the pie. |
r | The red value of the pie to draw. |
g | The green value of the pie to draw. |
b | The blue value of the pie to draw. |
a | The alpha value of the pie to draw. |
int rose::pixel | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y | ||
) |
Draw pixel in currently set color.
renderer | The renderer to draw on. |
x | X (horizontal) coordinate of the pixel. |
y | Y (vertical) coordinate of the pixel. |
int rose::pixelColor | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Uint32 | color | ||
) |
Draw pixel with blending enabled if a<255.
renderer | The renderer to draw on. |
x | X (horizontal) coordinate of the pixel. |
y | Y (vertical) coordinate of the pixel. |
color | The color value of the pixel to draw (0xRRGGBBAA). |
int rose::pixelRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw pixel with blending enabled if a<255.
renderer | The renderer to draw on. |
x | X (horizontal) coordinate of the pixel. |
y | Y (vertical) coordinate of the pixel. |
r | The red color value of the pixel to draw. |
g | The green color value of the pixel to draw. |
b | The blue color value of the pixel to draw. |
a | The alpha value of the pixel to draw. |
int rose::pixelRGBAWeight | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a, | ||
Uint32 | weight | ||
) |
Draw pixel with blending enabled and using alpha weight on color.
renderer | The renderer to draw on. |
x | The horizontal coordinate of the pixel. |
y | The vertical position of the pixel. |
r | The red color value of the pixel to draw. |
g | The green color value of the pixel to draw. |
b | The blue color value of the pixel to draw. |
a | The alpha value of the pixel to draw. |
weight | The weight multiplied into the alpha value of the pixel. |
int rose::polygon | ( | SDL_Renderer * | renderer, |
const Sint16 * | vx, | ||
const Sint16 * | vy, | ||
int | n | ||
) |
Draw polygon with the currently set color and blend mode.
renderer | The renderer to draw on. |
vx | Vertex array containing X coordinates of the points of the polygon. |
vy | Vertex array containing Y coordinates of the points of the polygon. |
n | Number of points in the vertex array. Minimum number is 3. |
int rose::polygonColor | ( | SDL_Renderer * | renderer, |
const Sint16 * | vx, | ||
const Sint16 * | vy, | ||
int | n, | ||
Uint32 | color | ||
) |
Draw polygon with alpha blending.
renderer | The renderer to draw on. |
vx | Vertex array containing X coordinates of the points of the polygon. |
vy | Vertex array containing Y coordinates of the points of the polygon. |
n | Number of points in the vertex array. Minimum number is 3. |
color | The color value of the polygon to draw (0xRRGGBBAA). |
int rose::polygonRGBA | ( | SDL_Renderer * | renderer, |
const Sint16 * | vx, | ||
const Sint16 * | vy, | ||
int | n, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw polygon with alpha blending.
renderer | The renderer to draw on. |
vx | Vertex array containing X coordinates of the points of the polygon. |
vy | Vertex array containing Y coordinates of the points of the polygon. |
n | Number of points in the vertex array. Minimum number is 3. |
r | The red value of the polygon to draw. |
g | The green value of the polygon to draw. |
b | The blue value of the polygon to draw. |
a | The alpha value of the polygon to draw. |
int rose::rectangleColor | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Uint32 | color | ||
) |
Draw rectangle with blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point (i.e. top right) of the rectangle. |
y1 | Y coordinate of the first point (i.e. top right) of the rectangle. |
x2 | X coordinate of the second point (i.e. bottom left) of the rectangle. |
y2 | Y coordinate of the second point (i.e. bottom left) of the rectangle. |
color | The color value of the rectangle to draw (0xRRGGBBAA). |
int rose::rectangleRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw rectangle with blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point (i.e. top right) of the rectangle. |
y1 | Y coordinate of the first point (i.e. top right) of the rectangle. |
x2 | X coordinate of the second point (i.e. bottom left) of the rectangle. |
y2 | Y coordinate of the second point (i.e. bottom left) of the rectangle. |
r | The red value of the rectangle to draw. |
g | The green value of the rectangle to draw. |
b | The blue value of the rectangle to draw. |
a | The alpha value of the rectangle to draw. |
int rose::roundedBoxColor | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Sint16 | rad, | ||
Uint32 | color | ||
) |
Draw rounded-corner box (filled rectangle) with blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point (i.e. top right) of the box. |
y1 | Y coordinate of the first point (i.e. top right) of the box. |
x2 | X coordinate of the second point (i.e. bottom left) of the box. |
y2 | Y coordinate of the second point (i.e. bottom left) of the box. |
rad | The radius of the corner arcs of the box. |
color | The color value of the box to draw (0xRRGGBBAA). |
int rose::roundedBoxRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Sint16 | rad, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw rounded-corner box (filled rectangle) with blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point (i.e. top right) of the box. |
y1 | Y coordinate of the first point (i.e. top right) of the box. |
x2 | X coordinate of the second point (i.e. bottom left) of the box. |
y2 | Y coordinate of the second point (i.e. bottom left) of the box. |
rad | The radius of the corner arcs of the box. |
r | The red value of the box to draw. |
g | The green value of the box to draw. |
b | The blue value of the box to draw. |
a | The alpha value of the box to draw. |
int rose::roundedRectangleColor | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Sint16 | rad, | ||
Uint32 | color | ||
) |
Draw rounded-corner rectangle with blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point (i.e. top right) of the rectangle. |
y1 | Y coordinate of the first point (i.e. top right) of the rectangle. |
x2 | X coordinate of the second point (i.e. bottom left) of the rectangle. |
y2 | Y coordinate of the second point (i.e. bottom left) of the rectangle. |
rad | The radius of the corner arc. |
color | The color value of the rectangle to draw (0xRRGGBBAA). |
int rose::roundedRectangleRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Sint16 | rad, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw rounded-corner rectangle with blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point (i.e. top right) of the rectangle. |
y1 | Y coordinate of the first point (i.e. top right) of the rectangle. |
x2 | X coordinate of the second point (i.e. bottom left) of the rectangle. |
y2 | Y coordinate of the second point (i.e. bottom left) of the rectangle. |
rad | The radius of the corner arc. |
r | The red value of the rectangle to draw. |
g | The green value of the rectangle to draw. |
b | The blue value of the rectangle to draw. |
a | The alpha value of the rectangle to draw. |
std::string rose::StringCompositor | ( | Arg && | arg, |
Args &&... | args | ||
) |
Composite a pack of arguments that are streamable to a string.
Arg | First argument type |
Args | Rest of the argument types |
arg | First argument |
args | Rest of the arguments |
std::tuple<double, double> rose::subSolar | ( | ) |
Compute the sub-solar geographic coordinates, used in plotting the solar ilumination.
|
inline |
Get the size of a UTF8 string.
fontPointer | The font to use. |
text | The string |
int rose::texturedPolygon | ( | SDL_Renderer * | renderer, |
const Sint16 * | vx, | ||
const Sint16 * | vy, | ||
int | n, | ||
SDL_Surface * | texture, | ||
int | texture_dx, | ||
int | texture_dy | ||
) |
Draws a polygon filled with the given texture.
This standard version is calling multithreaded versions with nullptr cache parameters.
renderer | The renderer to draw on. |
vx | array of x vector components |
vy | array of x vector components |
n | the amount of vectors in the vx and vy array |
texture | the sdl surface to use to fill the polygon |
texture_dx | the offset of the texture relative to the screeen. if you move the polygon 10 pixels to the left and want the texture to apear the same you need to increase the texture_dx value |
texture_dy | see texture_dx |
int rose::texturedPolygonMT | ( | SDL_Renderer * | renderer, |
const Sint16 * | vx, | ||
const Sint16 * | vy, | ||
int | n, | ||
SDL_Surface * | texture, | ||
int | texture_dx, | ||
int | texture_dy, | ||
int ** | polyInts, | ||
int * | polyAllocated | ||
) |
Draws a polygon filled with the given texture (Multi-Threading Capable).
renderer | The renderer to draw on. |
vx | array of x vector components |
vy | array of x vector components |
n | the amount of vectors in the vx and vy array |
texture | the sdl surface to use to fill the polygon |
texture_dx | the offset of the texture relative to the screeen. If you move the polygon 10 pixels to the left and want the texture to apear the same you need to increase the texture_dx value |
texture_dy | see texture_dx |
polyInts | Preallocated temp array storage for vertex sorting (used for multi-threaded operation) |
polyAllocated | Flag indicating oif the temp array was allocated (used for multi-threaded operation) |
int rose::thickLineColor | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Uint8 | width, | ||
Uint32 | color | ||
) |
Draw a thick line with alpha blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the line. |
y1 | Y coordinate of the first point of the line. |
x2 | X coordinate of the second point of the line. |
y2 | Y coordinate of the second point of the line. |
width | Width of the line in pixels. Must be >0. |
color | The color value of the line to draw (0xRRGGBBAA). |
int rose::thickLineRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Uint8 | width, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw a thick line with alpha blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the line. |
y1 | Y coordinate of the first point of the line. |
x2 | X coordinate of the second point of the line. |
y2 | Y coordinate of the second point of the line. |
width | Width of the line in pixels. Must be >0. |
r | The red value of the character to draw. |
g | The green value of the character to draw. |
b | The blue value of the character to draw. |
a | The alpha value of the character to draw. |
int rose::trigonColor | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Sint16 | x3, | ||
Sint16 | y3, | ||
Uint32 | color | ||
) |
Draw trigon (triangle outline) with alpha blending.
Note: Creates vertex array and uses polygon routine to render.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the trigon. |
y1 | Y coordinate of the first point of the trigon. |
x2 | X coordinate of the second point of the trigon. |
y2 | Y coordinate of the second point of the trigon. |
x3 | X coordinate of the third point of the trigon. |
y3 | Y coordinate of the third point of the trigon. |
color | The color value of the trigon to draw (0xRRGGBBAA). |
int rose::trigonRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x1, | ||
Sint16 | y1, | ||
Sint16 | x2, | ||
Sint16 | y2, | ||
Sint16 | x3, | ||
Sint16 | y3, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw trigon (triangle outline) with alpha blending.
renderer | The renderer to draw on. |
x1 | X coordinate of the first point of the trigon. |
y1 | Y coordinate of the first point of the trigon. |
x2 | X coordinate of the second point of the trigon. |
y2 | Y coordinate of the second point of the trigon. |
x3 | X coordinate of the third point of the trigon. |
y3 | Y coordinate of the third point of the trigon. |
r | The red value of the trigon to draw. |
g | The green value of the trigon to draw. |
b | The blue value of the trigon to draw. |
a | The alpha value of the trigon to draw. |
int rose::vline | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y1, | ||
Sint16 | y2 | ||
) |
Draw vertical line in currently set color.
renderer | The renderer to draw on. |
x | X coordinate of points of the line. |
y1 | Y coordinate of the first point (i.e. top) of the line. |
y2 | Y coordinate of the second point (i.e. bottom) of the line. |
int rose::vlineColor | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y1, | ||
Sint16 | y2, | ||
Uint32 | color | ||
) |
Draw vertical line with blending.
renderer | The renderer to draw on. |
x | X coordinate of the points of the line. |
y1 | Y coordinate of the first point (i.e. top) of the line. |
y2 | Y coordinate of the second point (i.e. bottom) of the line. |
color | The color value of the line to draw (0xRRGGBBAA). |
int rose::vlineRGBA | ( | SDL_Renderer * | renderer, |
Sint16 | x, | ||
Sint16 | y1, | ||
Sint16 | y2, | ||
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Draw vertical line with blending.
renderer | The renderer to draw on. |
x | X coordinate of the points of the line. |
y1 | Y coordinate of the first point (i.e. top) of the line. |
y2 | Y coordinate of the second point (i.e. bottom) of the line. |
r | The red value of the line to draw. |
g | The green value of the line to draw. |
b | The blue value of the line to draw. |
a | The alpha value of the line to draw. |
|
inline |
std::tuple<bool, double, double> rose::xyToAzLatLong | ( | int | x, |
int | y, | ||
const Size & | mapSize, | ||
const GeoPosition & | location, | ||
double | siny, | ||
double | cosy | ||
) |
Transform a Mercator map pixel into an Azimuthal map latitude and longitude in radians.
x | The map x pixel location 0 on the left |
y | The map y pixel location 0 at the top |
mapSize | the width (x) and height (y) of the map in pixels |
location | the longitude (x) and latitude (y) of the center of the projection |
siny | pre-computed sine of the latitude |
cosy | pre-computed cosine of the latitude |