Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
idomresources.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2007-2025 Global Graphics Software Ltd. All rights reserved.
3 */
4
10
11#ifndef __IDOMRESOURCES_H__
12#define __IDOMRESOURCES_H__
13
14#include <edl/edltypes.h>
15#include <edl/edlstream.h>
16#include <edl/idomnode.h>
17#include <edl/idomhashable.h>
19
21
31{
32 public:
33
38 virtual IInputStreamPtr getStream() const = 0;
39
44 virtual void setStream(const IInputStreamPtr &stream) = 0;
45
50 virtual uint64 getStreamLength() const = 0;
51
56 virtual const EDLSysString &getUri() const = 0;
57
62 virtual void setUri(const EDLSysString &uri) = 0;
63
64};
65
67#define edlobj2IDOMResource(src) edl_cast((IDOMResource *)NULL, src)
68
69
70class IDOMICCProfile;
72
79{
80#define IDOMICCProfileClassID 0xcf1b9ba2, 0x237a4d37, 0x8b5e3b59, 0x68b7cfca
81 public:
82
83 virtual ~IDOMICCProfile ()
84 {}
85
96 static EDL_API IDOMICCProfilePtr create(IEDLClassFactory *pFactory, const IInputStreamPtr &stream, uint32 length = 0, const EDLSysString &uri = EDLSysString());
97
102 class Data : public CClassParams
103 {
104 public:
106 {}
108 IInputStreamPtr stream;
111 };
112
117 static const CClassID &classID()
118 {
120 return id;
121 };
122
123#ifdef SWIG
124 %apply uint8_t &OUTPUT { uint8 &majorVersion };
125 %apply uint8_t &OUTPUT { uint8 &minorVersion };
126#endif
133 virtual void getProfileVersion(uint8 &majorVersion, uint8 &minorVersion) = 0;
134#ifdef SWIG
135 %clear uint8 &majorVersion;
136 %clear uint8 &minorVersion;
137#endif
138
144 virtual uint32 getProfileClass() = 0;
145
152
160
170 virtual bool getProfileHasSupportForIntent(eRenderingIntent intent, bool input) = 0;
171
178
179};
180
181#define edlobj2IDOMICCProfile(src) edl_cast((IDOMICCProfile *)NULL, src)
182
189{
190#define IDOMPrintTicketClassID 0xe05c10f8, 0xad9f4eec, 0x839a1ad6, 0xed5d73b9
191 public:
192
197 class Data : public CClassParams
198 {
199 public:
201 {}
203 IInputStreamPtr stream;
205 };
206
211 static const CClassID &classID()
212 {
214 return id;
215 };
216
217};
218
220#define edlobj2IDOMPrintTicket(src) edl_cast((IDOMPrintTicket *)NULL, src)
221
222
229{
230#define IDOMAudioFileClassID 0x50f160ca, 0xa6ff41c8, 0xabf99ec0, 0xafac3702
231 public:
232
234
259
264 static const CClassID &classID()
265 {
267 return id;
268 };
269};
270
272#define edlobj2IDOMAudioFile(src) edl_cast((IDOMAudioFile *)NULL, src)
273
274
281{
282#define IDOMRawDataFileClassID 0x562734ed, 0x40d64549, 0x8df0e51c, 0xef677cba
283 public:
284
289 class Data : public CClassParams
290 {
291 public:
293 {}
295 IInputStreamPtr stream;
298 };
299
304 static const CClassID &classID()
305 {
307 return id;
308 };
309
314 virtual const EDLSysString & getMimeType() const = 0;
315};
316
318#define edlobj2IDOMRawDataFile(src) edl_cast((IDOMRawDataFile *)NULL, src)
319
320
330{
331#define IDOMResourceDictionaryClassID 0x8dac1ddf, 0x84c34ec8, 0x83e40e64, 0x0830d186
332 public:
333
338 class Data : public CClassParams
339 {
340 public:
342 {}
344 IInputStreamPtr stream;
346 };
347
352 static const CClassID &classID()
353 {
355 return id;
356 };
357
363 virtual IEDLObjectPtr get(const EDLSysString &name) const = 0;
364
370 virtual void put(const EDLSysString &name, const IEDLObjectPtr &element) = 0;
371
372};
373
375#define edlobj2IDOMResourceDictionary(src) edl_cast((IDOMResourceDictionary *)NULL, src)
376
382
383class IDOMMatrix : public IEDLObject
384{
385#define IDOMMatrixClassID 0x635ea123, 0x1c5d4e35, 0xb174a419, 0x0deb4eab
386 public:
391 class Data : public CClassParams
392 {
393 public:
395 };
396
401 static const CClassID &classID()
402 {
403 static CClassID id(IDOMMatrixClassID);
404 return id;
405 };
406
411 virtual const FMatrix &getRenderTransform() const = 0;
412
417 virtual void setRenderTransform(const FMatrix &matrix) = 0;
418
419};
420
422#define edlobj2IDOMMatrix(src) edl_cast((IDOMMatrix *)NULL, src)
423
424
426
427#endif /* __IDOMRESOURCES_H__ */
An object to represent a 128-bit globally unique ID.
Definition objclassid.h:29
EDL Object Interface.
Definition iedlobject.h:31
uint32 bitsPerChannel
Definition idomresources.h:256
uint64 streamLength
Definition idomresources.h:251
bool doGenerateHeader
Definition idomresources.h:257
IInputStreamPtr stream
Definition idomresources.h:250
uint32 channelCount
Definition idomresources.h:255
EDLSysString uri
Definition idomresources.h:249
uint32 sampleRate
Definition idomresources.h:254
eAudioFormat format
Definition idomresources.h:253
Data()
Definition idomresources.h:242
IDOMAudioFile interface.
Definition idomresources.h:229
eAudioFormat
Definition idomresources.h:233
@ eAudioFormatWavMulaw
Definition idomresources.h:233
@ eAudioFormatWavRaw
Definition idomresources.h:233
@ eAudioFormatWavPCM
Definition idomresources.h:233
@ eAudioFormatUnknown
Definition idomresources.h:233
@ eAudioFormatWavALaw
Definition idomresources.h:233
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idomresources.h:264
Abstract interface for objects that can be hashed.
Definition idomhashable.h:28
EDLSysString uri
Definition idomresources.h:107
IInputStreamPtr stream
Definition idomresources.h:108
Data()
Definition idomresources.h:105
int32 numComponents
Definition idomresources.h:110
uint64 streamLength
Definition idomresources.h:109
IDOMICCProfile interface.
Definition idomresources.h:79
virtual uint32 getProfileColorSpace()=0
Get the color space type for this ICC profile. Throws an exception of type IEDLError on failure.
static EDL_API IDOMICCProfilePtr create(IEDLClassFactory *pFactory, const IInputStreamPtr &stream, uint32 length=0, const EDLSysString &uri=EDLSysString())
Creation function for an IDOMICCProfile Throws an IEDLError exception on failure.
virtual uint32 getProfileConnectionSpace()=0
Get the profile connection space (PCS) type for this ICC profile. For device link profiles this will ...
virtual uint32 getProfileClass()=0
Get the profile class for this ICC profile. Throws an exception of type IEDLError on failure.
virtual void getProfileVersion(uint8 &majorVersion, uint8 &minorVersion)=0
Get the ICC profile version. Throws an exception of type IEDLError on failure.
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idomresources.h:117
virtual ~IDOMICCProfile()
Definition idomresources.h:83
virtual bool getProfileHasSupportForIntent(eRenderingIntent intent, bool input)=0
Determine if the profile has support for the given intent for the given usage. Matrix shaper style pr...
virtual EDLSysString getProfileName()=0
Get the name of this ICC profile. Throws an exception of type IEDLError on failure.
Initialization data.
Definition idomresources.h:392
FMatrix renderTransform
Definition idomresources.h:394
Defines the render transform matrix.
Definition idomresources.h:384
virtual const FMatrix & getRenderTransform() const =0
Retrieves the render transform matrix.
virtual void setRenderTransform(const FMatrix &matrix)=0
Sets the render transform matrix.
static const CClassID & classID()
Retrieves the class id of IDOMMatrix.
Definition idomresources.h:401
uint64 streamLength
Definition idomresources.h:204
EDLSysString uri
Definition idomresources.h:202
IInputStreamPtr stream
Definition idomresources.h:203
Data()
Definition idomresources.h:200
IDOMPrintTicket interface.
Definition idomresources.h:189
static const CClassID & classID()
Retrieves the class id of IDOMPrintTicket.
Definition idomresources.h:211
uint64 streamLength
Definition idomresources.h:296
IInputStreamPtr stream
Definition idomresources.h:295
EDLSysString uri
Definition idomresources.h:294
Data()
Definition idomresources.h:292
EDLSysString mimeType
Definition idomresources.h:297
IDOMRawDataFile interface.
Definition idomresources.h:281
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idomresources.h:304
virtual const EDLSysString & getMimeType() const =0
Get the mime type of this raw data file.
Data()
Definition idomresources.h:341
uint64 streamLength
Definition idomresources.h:345
IInputStreamPtr stream
Definition idomresources.h:344
EDLSysString uri
Definition idomresources.h:343
Interface to the EDL DOM's resource dictionary. The resource dictionary is a document resource that i...
Definition idomresources.h:330
virtual IEDLObjectPtr get(const EDLSysString &name) const =0
Retrieves a smart pointer to a resource stored in the resource dictionary.
static const CClassID & classID()
Retrieves the class id of IDOMResourceDictionary.
Definition idomresources.h:352
virtual void put(const EDLSysString &name, const IEDLObjectPtr &element)=0
Registers a resource element in the resource dictionary.
Provides an interface to an EDL DOM node representing a generalised resource. A resource represents n...
Definition idomresources.h:31
virtual const EDLSysString & getUri() const =0
Retrieves the resource URI.
virtual uint64 getStreamLength() const =0
Retrieves the stream length, if it is available.
virtual void setStream(const IInputStreamPtr &stream)=0
Sets the resource stream for the node.
virtual IInputStreamPtr getStream() const =0
Retrieves the resource stream.
virtual void setUri(const EDLSysString &uri)=0
Sets the resource URI.
EDL Factory Interface allows one part of the EDL infrastructure to register class creation methods id...
Definition iedlfactory.h:31
IEDLObject is an abstract base class that is used by all classes that are intended to be created via ...
Definition iedlobject.h:53
CTransformMatrix< double > FMatrix
Definition edlgeom.h:1208
#define _END_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:110
#define _BEGIN_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:109
std::string EDLSysString
Definition edlstring.h:158
EDL "standard" types including known bit-length signed and unsigned integer type[def]s and definition...
unsigned int uint32
Definition edltypes.h:34
#define EDL_API
Definition edltypes.h:86
unsigned long long uint64
Definition edltypes.h:35
signed int int32
Definition edltypes.h:29
unsigned char uint8
Definition edltypes.h:32
eRenderingIntent
Rendering intent enumeration.
Definition edlrenderingintent.h:17
#define IDOMMatrixClassID
Definition idomresources.h:385
#define IDOMICCProfileClassID
Definition idomresources.h:80
#define IDOMPrintTicketClassID
Definition idomresources.h:190
#define IDOMResourceDictionaryClassID
Definition idomresources.h:331
#define IDOMRawDataFileClassID
Definition idomresources.h:282
#define IDOMAudioFileClassID
Definition idomresources.h:230
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211