Aurelon Open API 8.1.1
Loading...
Searching...
No Matches
AOI_Style.h
1/*
2 * AOI_Style
3 * Copyright (c) 2007-2017 Aurelon BV. All rights reserved.
4 *
5 */
6#pragma once
7
8#include "./AOI_ColorSpace.h"
9
10class AOI_Object;
11class AOI_Renderer;
12class AOI_Document;
13
14typedef enum AOI_BlendMode
15{
16 eAOI_BMNormal,
17 eAOI_BMMultiply,
18 eAOI_BMScreen,
19 eAOI_BMOverlay,
20 eAOI_BMSoftLight,
21 eAOI_BMHardLight,
22 eAOI_BMColorDodge,
23 eAOI_BMColorBurn,
24 eAOI_BMDarken,
25 eAOI_BMLighten,
26 eAOI_BMDifference,
27 eAOI_BMExclusion,
28 eAOI_BMHue,
29 eAOI_BMSaturation,
30 eAOI_BMColor,
31 eAOI_BMLuminosity,
32 eAOI_BMOverprint0,
33 eAOI_BMOverprint1,
34 eAOI_BMOverprintScreen,
35 eAOI_MaxEnumBlendMode = 0xFFFFFFFFL
36} AOI_BlendMode;
37
38typedef enum AOI_Intent
39{
40 eAOI_Perceptual = 0,
41 eAOI_RelativeColorimetric = 1,
42 eAOI_Saturation = 2,
43 eAOI_AbsoluteColorimetric = 3,
44 eAOI_MaxEnumIntent = 0xFFFFFFFFL
45} AOI_Intent;
46
47class AOIAPI AOI_Style
48{
49public:
50 uint32_t GetType() const;
51 void Dispose();
52};
53typedef AOI_Style* AOI_StylePtr;
54
55class AOIAPI AOI_Style_Color : public AOI_Style
56{
57public:
58 const static uint32_t Type = 'STY0';
59
60 static AOI_Style_Color* Create( AOI_Document* document, const AOI_Color& );
61
62 void GetColor( AOI_Color& ) const;
63 AOI_ColorSpace* GetSpace() const;
64 void GetDescriptor( char* name ) const;
65};
67
68class AOIAPI AOI_Style_Shading : public AOI_Style
69{
70public:
71 const static uint32_t Type = 'STY1';
72
73 void GetBounds( AOI_Rectangle& ) const;
74 AOI_ColorSpace* GetColorSpace() const;
75 const AOI_Mapping& GetMapping() const;
76
77 void Open( AOI_Renderer* ) const;
78 void Close() const;
79 bool GetColor( int32_t, int32_t, AOI_Color& ) const;
80};
82
84{
85public:
86 const static uint32_t Type = 'STY2';
87
88 AOI_Function** GetFunctions() const;
89};
91
93{
94public:
95 const static uint32_t Type = 'STY3';
96
97 void GetPoints( AOI_Point&, AOI_Point& ) const;
98 void GetExtends( bool&, bool& ) const;
99 uint32_t GetFunctionCount() const;
100 AOI_Function** GetFunctions( uint32_t& ) const;
101};
103
105{
106public:
107 const static uint32_t Type = 'STY4';
108
109 void GetCircleStart( AOI_Point& outCenter, float& outRadius ) const;
110 void GetCircleEnd( AOI_Point& outCenter, float& outRadius ) const;
111 uint32_t GetFunctionCount() const;
112 AOI_Function** GetFunctions( uint32_t& ) const;
113};
115
117{
118public:
119 const static uint32_t Type = 'STY5';
123 class AOI_SE
124 {
125 public:
126 AOI_ContourElement p;
127 uint16_t channel[ MAX_CHANNELS ];
128 };
129 class AOI_Beziers
130 {
131 public:
132 uint32_t nrElements;
133 uint32_t startPointIndex;
134 uint32_t endPointIndex;
135 AOI_ContourElement* elements;
136 };
137 class AOI_Side
138 {
139 public:
140 uint32_t nr;
141 uint32_t* mBeziersIndexen;
142 };
143 class AOI_Patch
144 {
145 public:
146 int32_t sides[4];
147 };
152public:
153 uint32_t GetPatchCount() const;
154 const AOI_Patch& GetPatch( uint32_t index ) const;
155 const AOI_Side& GetSide( uint32_t index ) const;
156 const AOI_Beziers& GetBezier( uint32_t index ) const;
157 const AOI_SE& GetPoint( uint32_t index ) const;
158};
160
161class AOIAPI AOI_Style_Pattern : public AOI_Style
162{
163public:
164 const static uint32_t Type = 'STY6';
165
166 AOI_Object* GetTile() const;
167 AOI_Point GetDeltas() const;
168 const AOI_Mapping& GetMapping() const;
169};
171
173{
174 const AOI_Object* inObject;
175 AOI_ColorSpace* inSourceSpace;
176 AOI_ColorSpace* inDestinationSpace;
178 const uint16_t* inChannels16;
179 const uint8_t* inChannels8;
180 uint32_t inPixelCount;
181 bool inIsVector;
182 bool inIsShading;
183 // Are initially filled with pointers to empty channels and set
184 uint16_t* outChannels16;
185 uint8_t* outChannels8;
186 bool* outChannelsUsed;
187};
PDF Document.
Base class for functions.
3x3 matrix
Definition AOI_Types.h:113
Base class for all graphic objects.
Definition AOI_Object.h:13
Coordinate.
Definition AOI_Types.h:137
Rectangle.
Definition AOI_Types.h:148
Renderer / RIP.
Axial shading.
Definition AOI_Style.h:93
Color fill.
Definition AOI_Style.h:56
Coons patch shading.
Definition AOI_Style.h:117
Function based shading.
Definition AOI_Style.h:84
Pattern fill.
Definition AOI_Style.h:162
Radial shading.
Definition AOI_Style.h:105
Base class for shadings.
Definition AOI_Style.h:69
Base class for painting styles.
Definition AOI_Style.h:48
Color information for CMM callback.
aur::PDF::ColorSpaceObject * inSourceSpace
const aur::PDF::Object * inObject
const uint16_t * inChannels16
const uint8_t * inChannels8
aur::PDF::ColorSpaceObject * inDestinationSpace