![]() |
CUGL 2.5
Cornell University Game Library
|
Namespaces | |
namespace | audio |
namespace | filetool |
namespace | net |
namespace | physics2 |
namespace | poly2 |
namespace | scene2 |
namespace | strtool |
Typedefs | |
typedef std::function< void(const std::string key, bool success)> | LoaderCallback |
typedef Sint64 | TouchID |
typedef Vec2 | Point2 |
typedef Vec3 | Point3 |
Enumerations | |
enum class | AudioType : int { UNKNOWN = -1 , WAV_FILE = 0 , MP3_FILE = 1 , OGG_FILE = 2 , FLAC_FILE = 3 , IN_MEMORY = 4 } |
enum class | KeyCode : int { NUM_0 = SDLK_0 , NUM_1 = SDLK_1 , NUM_2 = SDLK_2 , NUM_3 = SDLK_3 , NUM_4 = SDLK_4 , NUM_5 = SDLK_5 , NUM_6 = SDLK_6 , NUM_7 = SDLK_7 , NUM_8 = SDLK_8 , NUM_9 = SDLK_9 , A = SDLK_a , B = SDLK_b , C = SDLK_c , D = SDLK_d , E = SDLK_e , F = SDLK_f , G = SDLK_g , H = SDLK_h , I = SDLK_i , J = SDLK_j , K = SDLK_k , L = SDLK_l , M = SDLK_m , N = SDLK_n , O = SDLK_o , P = SDLK_p , Q = SDLK_q , R = SDLK_r , S = SDLK_s , T = SDLK_t , U = SDLK_u , V = SDLK_v , W = SDLK_w , X = SDLK_x , Y = SDLK_y , Z = SDLK_z , ARROW_DOWN = SDLK_DOWN , ARROW_LEFT = SDLK_LEFT , ARROW_RIGHT = SDLK_RIGHT , ARROW_UP = SDLK_UP , QUOTE = SDLK_QUOTE , BACKSLASH = SDLK_BACKSLASH , COMMA = SDLK_COMMA , EQUALS = SDLK_EQUALS , BACKQUOTE = SDLK_BACKQUOTE , LEFT_BRACKET = SDLK_LEFTBRACKET , MINUS = SDLK_MINUS , PERIOD = SDLK_PERIOD , RIGHT_BRACKET = SDLK_RIGHTBRACKET , SEMICOLON = SDLK_SEMICOLON , SLASH = SDLK_SLASH , BACKSPACE = SDLK_BACKSPACE , SPACE = SDLK_SPACE , TAB = SDLK_TAB , DEL = SDLK_DELETE , END = SDLK_END , ESCAPE = SDLK_ESCAPE , HOME = SDLK_HOME , HELP = SDLK_HELP , PAGE_DOWN = SDLK_PAGEDOWN , PAGE_UP = SDLK_PAGEUP , PAUSE = SDLK_PAUSE , RETURN = SDLK_RETURN , ENTER = SDLK_RETURN2 , CAPS_LOCK = SDLK_CAPSLOCK , LEFT_ALT = SDLK_LALT , LEFT_CTRL = SDLK_LCTRL , LEFT_SHIFT = SDLK_LSHIFT , LEFT_META = SDLK_LGUI , RIGHT_ALT = SDLK_RALT , RIGHT_CTRL = SDLK_RCTRL , RIGHT_SHIFT = SDLK_RSHIFT , RIGHT_META = SDLK_RGUI , NUMLOCK = SDLK_NUMLOCKCLEAR , KEYPAD_0 = SDLK_KP_0 , KEYPAD_1 = SDLK_KP_1 , KEYPAD_2 = SDLK_KP_2 , KEYPAD_3 = SDLK_KP_3 , KEYPAD_4 = SDLK_KP_4 , KEYPAD_5 = SDLK_KP_5 , KEYPAD_6 = SDLK_KP_6 , KEYPAD_7 = SDLK_KP_7 , KEYPAD_8 = SDLK_KP_8 , KEYPAD_9 = SDLK_KP_9 , KEYPAD_CLEAR = SDLK_KP_CLEAR , KEYPAD_EQUALS = SDLK_KP_EQUALS , KEYPAD_DIVIDE = SDLK_KP_DIVIDE , KEYPAD_MULTIPLY = SDLK_KP_MULTIPLY , KEYPAD_MINUS = SDLK_KP_MINUS , KEYPAD_PLUS = SDLK_KP_PLUS , KEYPAD_ENTER = SDLK_KP_ENTER , UNKNOWN = SDLK_POWER } |
enum class | KeyCategory { NUMBER , LETTER , ARROW , PUNCTUATION , SPECIAL , MODIFIER , KEYPAD , UNKNOWN } |
enum class | CoreGestureType : int { NONE = 0 , PAN = 1 , PINCH = 2 , SPIN = 3 } |
enum class | StencilEffect : int { NATIVE = 0 , NONE = 1 , CLIP = 2 , MASK = 3 , FILL = 4 , WIPE = 5 , STAMP = 6 , CARVE = 7 , CLAMP = 8 , NONE_CLIP = 9 , NONE_MASK = 10 , NONE_FILL = 11 , NONE_WIPE = 12 , NONE_STAMP = 13 , NONE_CARVE = 14 , NONE_CLAMP = 15 , CLIP_JOIN = 16 , CLIP_MEET = 17 , CLIP_NONE = 18 , CLIP_MASK = 19 , CLIP_FILL = 20 , CLIP_WIPE = 21 , CLIP_STAMP = 22 , CLIP_CARVE = 23 , CLIP_CLAMP = 24 , MASK_JOIN = 25 , MASK_MEET = 26 , MASK_NONE = 27 , MASK_CLIP = 28 , MASK_FILL = 29 , MASK_WIPE = 30 , MASK_STAMP = 31 , MASK_CARVE = 32 , MASK_CLAMP = 33 , FILL_JOIN = 34 , FILL_MEET = 35 , FILL_NONE = 36 , FILL_MASK = 37 , FILL_CLIP = 38 , WIPE_NONE = 39 , WIPE_MASK = 40 , WIPE_CLIP = 41 , STAMP_NONE = 42 , STAMP_CLIP = 43 , STAMP_MASK = 44 , STAMP_BOTH = 45 , CARVE_NONE = 46 , CARVE_CLIP = 47 , CARVE_MASK = 48 , CARVE_BOTH = 49 , CLAMP_NONE = 50 , CLAMP_CLIP = 51 , CLAMP_MASK = 52 } |
Functions | |
SDL_FORCE_INLINE Uint16 | marshall (Sint16 value) |
SDL_FORCE_INLINE Uint16 | marshall (Uint16 value) |
SDL_FORCE_INLINE Uint32 | marshall (Sint32 value) |
SDL_FORCE_INLINE Uint32 | marshall (Uint32 value) |
SDL_FORCE_INLINE Uint64 | marshall (Sint64 value) |
SDL_FORCE_INLINE Uint64 | marshall (Uint64 value) |
SDL_FORCE_INLINE float | marshall (float value) |
SDL_FORCE_INLINE double | marshall (double value) |
Vec2 & | operator*= (Vec2 &v, const Affine2 &m) |
const Vec2 | operator* (const Vec2 v, const Affine2 &m) |
const Affine2 | operator* (float scalar, const Affine2 &m) |
const Color4f | operator* (float s, const Color4f c) |
const Color4 | operator* (float s, Color4 c) |
Vec2 & | operator*= (Vec2 &v, const Mat4 &m) |
const Vec2 | operator* (const Vec2 v, const Mat4 &m) |
Vec3 & | operator*= (Vec3 &v, const Mat4 &m) |
const Vec3 | operator* (const Vec3 v, const Mat4 &m) |
Vec4 & | operator*= (Vec4 &v, const Mat4 &m) |
const Vec4 | operator* (const Vec4 v, const Mat4 &m) |
const Mat4 | operator* (float scalar, const Mat4 &m) |
Vec3 & | operator*= (Vec3 &v, const Quaternion &quat) |
const Vec3 | operator* (const Vec3 v, const Quaternion &quat) |
const Quaternion | operator* (float s, const Quaternion &quat) |
const Vec2 | operator* (float x, const Vec2 v) |
const Vec2 | operator/ (float x, const Vec2 v) |
const Vec3 | operator* (float x, const Vec3 v) |
const Vec3 | operator/ (float x, const Vec3 v) |
const Vec4 | operator* (float x, const Vec4 v) |
const Vec4 | operator/ (float x, const Vec4 v) |
int | operator* (Font::Style value) |
Font::Style | operator| (Font::Style lhs, Font::Style rhs) |
Font::Style | operator& (Font::Style lhs, Font::Style rhs) |
Font::Style | operator^ (Font::Style lhs, Font::Style rhs) |
Font::Style | operator~ (Font::Style lhs) |
std::string | gl_error_name (GLenum error) |
std::string | gl_type_name (GLenum error) |
The primary CUGL namespace
This namespace is for all classes and functions internal to the CUGL game engine. It does not include external tools like Box 2d or poly2tri.
This type represents a callback for asynchronous asset loading
This callback is associated with an asset at the time of the asychronous load request. When the asset either loads, or fails to load, this callback is called with the asset status.
In the case of JSON asset directories, a single callback may be associated with several assets. In that case, the callback funtion is called each time that an asset loads or fails to load. If an entire node in the asset directory fails to load, the callback function will be notified using the key for that JSON node.
The function type is equivalent to
std::function<void(const std::string key, bool success)>
key | The key to associate with the asset (or asset category) |
success | Whether the asset was successfully loaded |
typedef Vec2 cugl::Point2 |
Provide an alternative name for Vec2
typedef Vec3 cugl::Point3 |
Provide an alternative name for Vec3
typedef Sint64 cugl::TouchID |
This is the type representing a finger or touch
|
strong |
This enum represents the currently supported audio sources.
Currenltly, we only support file types that are easy to stream into a Linear PCM format. We recommend that you use OGG for music (which is streamed) and WAV for sound effects (which is buffered).
All audio sources in CUGL interleave the audio channels. MP3 and WAV ADPCM only support mono or stereo. But all other formats can support more channels. SDL supports up to 8 channels (7.1 stereo) in general. Note that the channel layout for OGG data is nonstandard (e.g. channels > 3 are not stereo compatible), so CUGL standardizes the channel layout to agree with FLAC and other data encodings.
|
strong |
This enum represents a core gesture type.
Core gestures are the primary two-finger gestures: pan, spin, and spread. This simple enumeration indicates which gestures have been recognized.
These types are currently exclusive (e.g. you cannot have a pan at the same time as a pinch). This is because the purpose of the core gesture device is to intelligently choose between gestures.
|
strong |
! This enum represents the category of the key
Categories are used to group key codes in rough groups
|
strong |
This is enum represents a key on a keyboard.
The keys available are subset of the full range of available keys. Because of our goal of cross-platform support, we only support keys that are found on most common keyboards.
The Input dispatcher will convert from an SDL keycode this enum. That means it is possible to receive a KeyCode that is not present in the enum. Any switch statement for this enum should have a default value.
|
strong |
An enum to support stenciling effects.
A SpriteBatch
can support many types of stencil effects. Classic stencil effects including clipping (limiting drawing to a specific region) or masking (prohibiting drawing to a specific region). The stencil effects supported are designed with scene2::CanvasNode
in mind as the primary use case.
In particular, stencil effects are designed to support simple constructive area geometry operations. You can union, intersect, or subtract stencil regions to produce the relevant effects. However, this is only used for drawing and does not actually construct the associated geometries.
To support the CAG operations, the sprite batch stencil buffer has two areas: low and high. Operations can be applied to one or both of these regions. All binary operations are operations between these two regions. For example, StencilEffect#CLIP_MASK
will restrict all drawing to the stencil region defined in the low buffer, while also prohibiting any drawing to the stencil region in the high buffer. This has the visible effect of "subtracting" the high buffer from the low buffer.
The CAG operations are only supported at the binary level, as we only have two halves of the stencil buffer. However, using non-drawing effects like StencilEffect#CLIP_WIPE
or StencilEffect#CLIP_CARVE
, it is possible to produce more interesting nested expressions.
Note that when using split-buffer operations, only one of the operations will modify the stencil buffer. That is why there no effects such as FILL_WIPE
or CLAMP_STAMP
.
Enumerator | |
---|---|
NATIVE | Differs the to the existing OpenGL stencil settings. (DEFAULT) This effect neither enables nor disables the stencil buffer. Instead it uses the existing OpenGL settings. This is the effect that you should use when you need to manipulate the stencil buffer directly. |
NONE | Disables any stencil effects. This effect directs a |
CLIP | Restrict all drawing to the unified stencil region. In order for this effect to do anything, you must have created a stencil region with This effect is the same as |
MASK | Prohibits all drawing to the unified stencil region. In order for this effect to do anything, you must have created a stencil region with This effect is the same as |
FILL | Restrict all drawing to the unified stencil region. In order for this effect to do anything, you must have created a stencil region with This effect is different from This effect is the same as |
WIPE | Erases from the unified stencil region. This effect will not draw anything to the screen. Instead, it will only draw to the stencil buffer directly. Any pixel drawn will be zeroed in the buffer, removing it from the stencil region. The effect |
STAMP | Adds a stencil region the unified buffer This effect will not have any immediate visible effects. Instead it creates a stencil region for the effects such as The shapes are drawn to the stencil buffer using a nonzero fill rule. This has the advantage that (unlike an even-odd fill rule) stamps are additive and can be drawn on top of each other. However, it has the disadvantage that it requires both halves of the stencil buffer to store the stamp (which part of the stamp is in which half is undefined). While this effect implements a nonzero fill rule faithfully, there are technical limitations. The size of the stencil buffer means that more than 256 overlapping polygons of the same orientation will cause unpredictable effects. If this is a problem, use an even odd fill rule instead like |
CARVE | Adds a stencil region the lower buffer This effect will not have any immediate visible effects. Instead it creates a stencil region for the effects such as Like The primary application of this effect is to create stencils from extruded paths so that overlapping sections are not drawn twice (which has negative effects on alpha blending). |
CLAMP | Limits drawing so that each pixel is updated once. This effect is a variation of This effect is equivalent to |
NONE_CLIP | Applies As with This effect is designed to be used with stencil regions created by |
NONE_MASK | Applies As with This effect is designed to be used with stencil regions created by |
NONE_FILL | Applies As with This effect is designed to be used with stencil regions created by |
NONE_WIPE | Applies As with This effect is designed to be used with stencil regions created by |
NONE_STAMP | Adds a stencil region to the upper buffer This effect will not have any immediate visible effect on the screen screen. Instead, it creates a stencil region for the effects such as Unlike Use |
NONE_CARVE | Adds a stencil region to the upper buffer This value will not have any immediate visible effect on the screen. Instead, it creates a stencil region for the effects such as Like The primary application of this effect is to create stencils from extruded paths so that overlapping sections are not drawn twice (which has negative effects on alpha blending). |
NONE_CLAMP | Uses the upper buffer to limit each pixel to single update. This effect is a variation of |
CLIP_JOIN | Restrict all drawing to the unified stencil region. This effect is the same as |
CLIP_MEET | Restrict all drawing to the intersecting stencil region. This effect is the same as |
CLIP_NONE | Applies As with This effect is designed to be used with stencil regions created by |
CLIP_MASK | Applies a lower buffer This command restricts drawing to the stencil region in the lower buffer while prohibiting any drawing to the stencil region in the upper buffer. If this effect is applied to a unified stencil region created by |
CLIP_FILL | Applies a lower buffer This command restricts drawing to the stencil region in the unified stencil region of the two buffers. However, it only zeroes pixels in the stencil region of the upper buffer; the lower buffer is untouched. If this effect is applied to a unified stencil region created by |
CLIP_WIPE | Applies a lower buffer As with |
CLIP_STAMP | Applies a lower buffer As with |
CLIP_CARVE | Applies a lower buffer As with |
CLIP_CLAMP | Applies a lower buffer As with |
MASK_JOIN | Prohibits all drawing to the unified stencil region. This effect is the same as |
MASK_MEET | Prohibits all drawing to the intersecting stencil region. This effect is the same as |
MASK_NONE | Applies As with This effect is designed to be used with stencil regions created by |
MASK_CLIP | Applies a lower buffer This command restricts drawing to the stencil region in the upper buffer while prohibiting any drawing to the stencil region in the lower buffer. If this effect is applied to a unified stencil region created by |
MASK_FILL | Applies a lower buffer This command restricts drawing to the stencil region in the upper buffer while prohibiting any drawing to the stencil region in the lower buffer. However, it only zeroes the stencil region in the upper buffer; the lower buffer is untouched. In addition, it will only zero those pixels that were drawn. If this effect is applied to a unified stencil region created by |
MASK_WIPE | Applies a lower buffer As with |
MASK_STAMP | Applies a lower buffer As with |
MASK_CARVE | Applies a lower buffer As with |
MASK_CLAMP | Applies a lower buffer As with |
FILL_JOIN | Restrict all drawing to the unified stencil region. This effect is the same as |
FILL_MEET | Restrict all drawing to the intersecting stencil region. This effect is the same as When zeroing out pixels, this operation zeroes out both halves of the stencil buffer. If a unified stencil region was created by |
FILL_NONE | Applies As with This effect is designed to be used with stencil regions created by |
FILL_MASK | Applies a lower buffer This command restricts drawing to the stencil region in the lower buffer while prohibiting any drawing to the stencil region in the upper buffer. When zeroing out the stencil region, this part of the effect is only applied to the lower buffer. If this effect is applied to a unified stencil region created by |
FILL_CLIP | Applies a lower buffer This command restricts drawing to the stencil region in the unified stencil region of the two buffers. However, it only zeroes pixels in the stencil region of the lower buffer; the lower buffer is untouched. If this effect is applied to a unified stencil region created by |
WIPE_NONE | Applies As with This effect is designed to be used with stencil regions created by |
WIPE_MASK | Applies a lower buffer This command erases from the stencil region in the lower buffer. However, it limits its erasing to locations that are not masked by the stencil region in the upper buffer. If this effect is applied to a unified stencil region created by |
WIPE_CLIP | Applies a lower buffer This command erases from the stencil region in the lower buffer. However, it limits its erasing to locations that are contained in the stencil region in the upper buffer. If this effect is applied to a unified stencil region created by |
STAMP_NONE | Adds a stencil region to the lower buffer This effect will not have any immediate visible effect on the screen screen. Instead, it creates a stencil region for the effects such as Unlike |
STAMP_CLIP | Applies a lower buffer As with |
STAMP_MASK | Applies a lower buffer As with |
STAMP_BOTH | Adds a stencil region to both the lower and the upper buffer This effect will not have any immediate visible effect on the screen screen. Instead, it creates a stencil region for the effects such as Unlike The use of both buffers to provide a greater degree of flexibility. |
CARVE_NONE | Adds a stencil region to the lower buffer This effect is equivalent to |
CARVE_CLIP | Applies a lower buffer As with |
CARVE_MASK | Applies a lower buffer As with |
CARVE_BOTH | Adds a stencil region to both the lower and upper buffer This effect is similar to |
CLAMP_NONE | Uses the lower buffer to limit each pixel to single update. This effect is equivalent to |
CLAMP_CLIP | Applies a lower buffer As with |
CLAMP_MASK | Applies a lower buffer As with |
std::string cugl::gl_error_name | ( | GLenum | error | ) |
Returns a string description of an OpenGL error type
error | The OpenGL error type |
std::string cugl::gl_type_name | ( | GLenum | error | ) |
Returns a string description of an OpenGL data type
error | The OpenGL error type |
SDL_FORCE_INLINE double cugl::marshall | ( | double | value | ) |
Returns the given value encoded in network order
On a big-endian system, this function has no effect. On a little-endian system, it swaps the bytes to put them in big-endian order.
This function is idempotent. To decode an encoded value, call this function on the value again.
value | The value to encode |
SDL_FORCE_INLINE float cugl::marshall | ( | float | value | ) |
Returns the given value encoded in network order
On a big-endian system, this function has no effect. On a little-endian system, it swaps the bytes to put them in big-endian order.
This function is idempotent. To decode an encoded value, call this function on the value again.
value | The value to encode |
SDL_FORCE_INLINE Uint16 cugl::marshall | ( | Sint16 | value | ) |
Returns the given value encoded in network order
On a big-endian system, this function has no effect. On a little-endian system, it swaps the bytes to put them in big-endian order.
This function is idempotent. To decode an encoded value, call this function on the value again.
value | The value to encode |
SDL_FORCE_INLINE Uint32 cugl::marshall | ( | Sint32 | value | ) |
Returns the given value encoded in network order
On a big-endian system, this function has no effect. On a little-endian system, it swaps the bytes to put them in big-endian order.
This function is idempotent. To decode an encoded value, call this function on the value again.
value | The value to encode |
SDL_FORCE_INLINE Uint64 cugl::marshall | ( | Sint64 | value | ) |
Returns the given value encoded in network order
On a big-endian system, this function has no effect. On a little-endian system, it swaps the bytes to put them in big-endian order.
This function is idempotent. To decode an encoded value, call this function on the value again.
value | The value to encode |
SDL_FORCE_INLINE Uint16 cugl::marshall | ( | Uint16 | value | ) |
Returns the given value encoded in network order
On a big-endian system, this function has no effect. On a little-endian system, it swaps the bytes to put them in big-endian order.
This function is idempotent. To decode an encoded value, call this function on the value again.
value | The value to encode |
SDL_FORCE_INLINE Uint32 cugl::marshall | ( | Uint32 | value | ) |
Returns the given value encoded in network order
On a big-endian system, this function has no effect. On a little-endian system, it swaps the bytes to put them in big-endian order.
This function is idempotent. To decode an encoded value, call this function on the value again.
value | The value to encode |
SDL_FORCE_INLINE Uint64 cugl::marshall | ( | Uint64 | value | ) |
Returns the given value encoded in network order
On a big-endian system, this function has no effect. On a little-endian system, it swaps the bytes to put them in big-endian order.
This function is idempotent. To decode an encoded value, call this function on the value again.
value | The value to encode |
|
inline |
Returns the bitwise and of two font styles.
Returns a copy of the vector after it is transformed.
v | The point to transform. |
m | The transform to apply. |
Returns a copy of the vector transformed by the given matrix.
The vector is treated as a point, which means that translation is applied to the result.
v | The point to transform. |
m | The matrix to transform by. |
Returns a copy of the vector transformed by the given matrix.
The vector is treated as a point, which means that translation is applied to the result.
v | The point to transform. |
m | The matrix to transform by. |
|
inline |
Returns a copy of the vector rotated by the quaternion.
The rotation is defined by the matrix associated with the vector. As per the convention for Mat4
, we only allow vectors to be multiplied on the right by quaternions.
v | The vector to rotate. |
quat | The rotation quaternion. |
Returns a copy of the vector transformed by the given matrix.
The vector is treated as is. Hence whether or not translation is applied depends on the value of w.
v | The point to transform. |
m | The matrix to transform by. |
Returns the scalar product of the given color with the given value.
The scaling is clamped so that this remains a valid color.
This version of scaling always multiplies the alpha values.
s | The value to scale by. |
c | The color to scale. |
Returns the scalar product of the given color with the given value.
The scaling is clamped so that this remains a valid color.
This version of scaling always multiplies the alpha values.
s | The value to scale by. |
c | The color to scale. |
|
inline |
Returns the scalar product of the quaternion with the given value.
s | The value to scale by. |
quat | The quaternion to scale. |
Multiplies the components of the given matrix by the specified scalar.
The scalar is applied to BOTH the core matrix and the offset.
scalar | The scalar value. |
m | The transform to scale. |
Multiplies the components of the given matrix by the specified scalar.
scalar | The scalar value. |
m | The matrix to transform by. |
Returns the scalar product of the given vector with the given value.
x | The value to scale by. |
v | The vector to scale. |
Returns the scalar product of the given vector with the given value.
x | The value to scale by. |
v | The vector to scale. |
Returns the scalar product of the given vector with the given value.
x | The value to scale by. |
v | The vector to scale. |
|
inline |
Returns the int equivalent of a font style.
Transforms the given point in place.
v | The point to transform. |
m | The transform to apply. |
Transforms the given point by the given matrix.
The vector is treated as a point, which means that translation is applied to the result.
v | The point to transform. |
m | The matrix to transform by. |
Transforms the given point by the given matrix.
The vector is treated as a point, which means that translation is applied to the result.
v | The point to transform. |
m | The matrix to transform by. |
|
inline |
Rotates the vector in place by the quaternion.
The rotation is defined by the matrix associated with the vector. As per the convention for Mat4
, we only allow vectors to be multiplied on the right by quaternions.
v | The vector to rotate. |
quat | The rotation quaternion. |
Transforms the given point by the given matrix.
The vector is treated as is. Hence whether or not translation is applied depends on the value of w.
v | The point to transform. |
m | The matrix to transform by. |
Returns the division of the given value by the vector.
x | The value to divide |
v | The vector to divide by. |
Returns the division of the given value by the vector.
x | The value to divide |
v | The vector to divide by. |
Returns the division of the given value by the vector.
x | The value to divide |
v | The vector to divide by. |
|
inline |
Returns the bitwise exclusive or of two font styles.
|
inline |
Returns the bitwise or of two font styles.
|
inline |
Returns the bitwise complement of a font style.