mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-02-10 18:05:41 +08:00
287 lines
9.7 KiB
C++
287 lines
9.7 KiB
C++
//
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _AGGPLUSENUMS_H
|
|
#define _AGGPLUSENUMS_H
|
|
|
|
#include "ap_AggPlusTypes.h"
|
|
|
|
//#define __cplusplus
|
|
|
|
namespace Aggplus
|
|
{
|
|
|
|
#define PixelFormatIndexed 0x00010000 // Indexes into a palette
|
|
#define PixelFormatGDI 0x00020000 // Is a GDI-supported format
|
|
#define PixelFormatAlpha 0x00040000 // Has an alpha component
|
|
#define PixelFormatPAlpha 0x00080000 // Pre-multiplied alpha
|
|
#define PixelFormatExtended 0x00100000 // Extended color 16 bits/channel
|
|
#define PixelFormatCanonical 0x00200000
|
|
|
|
#define PixelFormatUndefined 0
|
|
#define PixelFormatDontCare 0
|
|
|
|
#define PixelFormat1bppIndexed (1 | ( 1 << 8) | PixelFormatIndexed | PixelFormatGDI)
|
|
#define PixelFormat4bppIndexed (2 | ( 4 << 8) | PixelFormatIndexed | PixelFormatGDI)
|
|
#define PixelFormat8bppIndexed (3 | ( 8 << 8) | PixelFormatIndexed | PixelFormatGDI)
|
|
#define PixelFormat16bppGrayScale (4 | (16 << 8) | PixelFormatExtended)
|
|
#define PixelFormat16bppRGB555 (5 | (16 << 8) | PixelFormatGDI)
|
|
#define PixelFormat16bppRGB565 (6 | (16 << 8) | PixelFormatGDI)
|
|
#define PixelFormat16bppARGB1555 (7 | (16 << 8) | PixelFormatAlpha | PixelFormatGDI)
|
|
#define PixelFormat24bppRGB (8 | (24 << 8) | PixelFormatGDI)
|
|
#define PixelFormat32bppRGB (9 | (32 << 8) | PixelFormatGDI)
|
|
#define PixelFormat32bppARGB (10 | (32 << 8) | PixelFormatAlpha | PixelFormatGDI | PixelFormatCanonical)
|
|
#define PixelFormat32bppPARGB (11 | (32 << 8) | PixelFormatAlpha | PixelFormatPAlpha | PixelFormatGDI)
|
|
#define PixelFormat48bppRGB (12 | (48 << 8) | PixelFormatExtended)
|
|
#define PixelFormat64bppARGB (13 | (64 << 8) | PixelFormatAlpha | PixelFormatCanonical | PixelFormatExtended)
|
|
#define PixelFormat64bppPARGB (14 | (64 << 8) | PixelFormatAlpha | PixelFormatPAlpha | PixelFormatExtended)
|
|
#define PixelFormatMax 15
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Matrix Order
|
|
//--------------------------------------------------------------------------
|
|
|
|
enum MatrixOrder
|
|
{
|
|
MatrixOrderPrepend = 0,
|
|
MatrixOrderAppend = 1
|
|
};
|
|
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Dash style constants
|
|
//--------------------------------------------------------------------------
|
|
|
|
enum DashStyle
|
|
{
|
|
DashStyleSolid, // 0
|
|
DashStyleDash, // 1
|
|
DashStyleDot, // 2
|
|
DashStyleDashDot, // 3
|
|
DashStyleDashDotDot, // 4
|
|
DashStyleCustom // 5
|
|
};
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Line join constants
|
|
//--------------------------------------------------------------------------
|
|
|
|
enum LineJoin
|
|
{
|
|
LineJoinMiter = 0,
|
|
LineJoinBevel = 1,
|
|
LineJoinRound = 2,
|
|
LineJoinMiterClipped = 3
|
|
};
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Line cap constants
|
|
//--------------------------------------------------------------------------
|
|
enum LineCap
|
|
{
|
|
LineCapFlat = 0,
|
|
LineCapSquare = 1,
|
|
LineCapRound = 2,
|
|
LineCapTriangle = 3,
|
|
|
|
LineCapNoAnchor = 0x10, // corresponds to flat cap
|
|
LineCapSquareAnchor = 0x11, // corresponds to square cap
|
|
LineCapRoundAnchor = 0x12, // corresponds to round cap
|
|
LineCapDiamondAnchor = 0x13, // corresponds to triangle cap
|
|
LineCapArrowAnchor = 0x14, // no correspondence
|
|
|
|
LineCapCustom = 0xff, // custom cap
|
|
|
|
LineCapAnchorMask = 0xf0 // mask to check for anchor or not.
|
|
};
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Brush types
|
|
//--------------------------------------------------------------------------
|
|
|
|
enum BrushType
|
|
{
|
|
BrushTypeSolidColor = 0,
|
|
BrushTypeHatchFill = 1,
|
|
BrushTypeTextureFill = 2,
|
|
BrushTypePathGradient = 3,
|
|
BrushTypeLinearGradient = 4
|
|
};
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Various wrap modes for brushes
|
|
//--------------------------------------------------------------------------
|
|
|
|
enum WrapMode
|
|
{
|
|
WrapModeTile, // 0
|
|
WrapModeTileFlipX, // 1
|
|
WrapModeTileFlipY, // 2
|
|
WrapModeTileFlipXY, // 3
|
|
WrapModeClamp // 4
|
|
};
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------------
|
|
// FontStyle: face types and common styles
|
|
//--------------------------------------------------------------------------
|
|
|
|
enum FontStyle
|
|
{
|
|
FontStyleRegular = 0,
|
|
FontStyleBold = 1,
|
|
FontStyleItalic = 2,
|
|
FontStyleBoldItalic = 3,
|
|
FontStyleUnderline = 4,
|
|
FontStyleStrikeout = 8
|
|
};
|
|
|
|
//---------------------------------------------------------------------------
|
|
// String alignment flags
|
|
//---------------------------------------------------------------------------
|
|
|
|
enum StringAlignment
|
|
{
|
|
// Left edge for left-to-right text,
|
|
// right for right-to-left text,
|
|
// and top for vertical
|
|
StringAlignmentNear = 0,
|
|
StringAlignmentCenter = 1,
|
|
StringAlignmentFar = 2
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//############## Not implemented-Used
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Unit constants
|
|
//--------------------------------------------------------------------------
|
|
|
|
enum Unit
|
|
{
|
|
UnitWorld, // 0 -- World coordinate (non-physical unit)
|
|
UnitDisplay, // 1 -- Variable -- for PageTransform only
|
|
UnitPixel, // 2 -- Each unit is one device pixel.
|
|
UnitPoint, // 3 -- Each unit is a printer's point, or 1/72 inch.
|
|
UnitInch, // 4 -- Each unit is 1 inch.
|
|
UnitDocument, // 5 -- Each unit is 1/300 inch.
|
|
UnitMillimeter // 6 -- Each unit is 1 millimeter.
|
|
};
|
|
|
|
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
// Text Rendering Hint
|
|
//---------------------------------------------------------------------------
|
|
|
|
enum TextRenderingHint
|
|
{
|
|
TextRenderingHintSystemDefault = 0, // Glyph with system default rendering hint
|
|
TextRenderingHintSingleBitPerPixelGridFit, // Glyph bitmap with hinting
|
|
TextRenderingHintSingleBitPerPixel, // Glyph bitmap without hinting
|
|
TextRenderingHintAntiAliasGridFit, // Glyph anti-alias bitmap with hinting
|
|
TextRenderingHintAntiAlias, // Glyph anti-alias bitmap without hinting
|
|
TextRenderingHintClearTypeGridFit // Glyph CT bitmap with hinting
|
|
};
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Quality mode constants
|
|
//--------------------------------------------------------------------------
|
|
|
|
enum QualityMode
|
|
{
|
|
QualityModeInvalid = -1,
|
|
QualityModeDefault = 0,
|
|
QualityModeLow = 1, // Best performance
|
|
QualityModeHigh = 2 // Best rendering quality
|
|
};
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Alpha Compositing mode constants
|
|
//--------------------------------------------------------------------------
|
|
|
|
enum CompositingMode
|
|
{
|
|
CompositingModeSourceOver, // 0
|
|
CompositingModeSourceCopy // 1
|
|
};
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Alpha Compositing quality constants
|
|
//--------------------------------------------------------------------------
|
|
|
|
enum CompositingQuality
|
|
{
|
|
CompositingQualityInvalid = QualityModeInvalid,
|
|
CompositingQualityDefault = QualityModeDefault,
|
|
CompositingQualityHighSpeed = QualityModeLow,
|
|
CompositingQualityHighQuality = QualityModeHigh,
|
|
CompositingQualityGammaCorrected,
|
|
CompositingQualityAssumeLinear
|
|
};
|
|
|
|
//---------------------------------------------------------------------------
|
|
// Smoothing Mode
|
|
//---------------------------------------------------------------------------
|
|
|
|
enum SmoothingMode
|
|
{
|
|
SmoothingModeInvalid = QualityModeInvalid,
|
|
SmoothingModeDefault = QualityModeDefault,
|
|
SmoothingModeHighSpeed = QualityModeLow,
|
|
SmoothingModeHighQuality = QualityModeHigh,
|
|
SmoothingModeNone,
|
|
SmoothingModeAntiAlias
|
|
};
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Interpolation modes
|
|
//--------------------------------------------------------------------------
|
|
|
|
enum InterpolationMode
|
|
{
|
|
InterpolationModeInvalid = QualityModeInvalid,
|
|
InterpolationModeDefault = QualityModeDefault,
|
|
InterpolationModeLowQuality = QualityModeLow,
|
|
InterpolationModeHighQuality = QualityModeHigh,
|
|
InterpolationModeBilinear,
|
|
InterpolationModeBicubic,
|
|
InterpolationModeNearestNeighbor,
|
|
InterpolationModeHighQualityBilinear,
|
|
InterpolationModeHighQualityBicubic
|
|
};
|
|
|
|
|
|
|
|
enum StringFormatFlags
|
|
{
|
|
//not supp StringFormatFlagsDirectionRightToLeft = 0x00000001,
|
|
//not supp StringFormatFlagsDirectionVertical = 0x00000002,
|
|
//not supp StringFormatFlagsNoFitBlackBox = 0x00000004,
|
|
//not supp StringFormatFlagsDisplayFormatControl = 0x00000020,
|
|
//not supp StringFormatFlagsNoFontFallback = 0x00000400,
|
|
//not supp StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
|
|
//not supp StringFormatFlagsNoWrap = 0x00001000,
|
|
StringFormatFlagsLineLimit = 0x00002000
|
|
|
|
//not supp StringFormatFlagsNoClip = 0x00004000
|
|
};
|
|
|
|
|
|
} //namespace Aggplus
|
|
|
|
#endif // !defined(_AGGPLUSENUMS_H)
|