|
Katana Plug-in APIs 0.1
|
00001 // Copyright (c) 2012 The Foundry Visionmongers Ltd. All Rights Reserved. 00002 00003 #ifndef DATA_MESSAGE_H 00004 #define DATA_MESSAGE_H 00005 00006 #include <stddef.h> 00007 #include <stdint.h> 00008 00009 #include "Message.h" 00010 00011 namespace Foundry 00012 { 00013 namespace Katana 00014 { 00019 class NewChannelMessage; 00020 00036 class DataMessage : public Message 00037 { 00038 public: 00061 DataMessage(const NewChannelMessage& channel, 00062 uint32_t xMin = 0, 00063 uint32_t width = 0, 00064 uint32_t yMin = 0, 00065 uint32_t height = 0, 00066 uint32_t byteSkip = 0); 00067 00091 DataMessage(const uint8_t* frameID, 00092 uint16_t channelID = 0, 00093 uint32_t xMin = 0, 00094 uint32_t width = 0, 00095 uint32_t yMin = 0, 00096 uint32_t height = 0, 00097 uint32_t byteSkip = 0); 00098 00102 virtual ~DataMessage() {} 00103 00126 void setData(const void* data, 00127 uint32_t size, 00128 FnPixelDataDeleter pixelDataDeleter = NULL); 00129 00130 void setStartCoordinates(uint32_t x, uint32_t y); 00131 void setDataDimensions(uint32_t width, uint32_t height); 00132 void setByteSkip(uint32_t byteSkip); 00133 00140 const uint8_t* frameUUID() const; 00141 uint16_t channelID() const; 00142 uint32_t xMin() const; 00143 uint32_t width() const; 00144 uint32_t yMin() const; 00145 uint32_t height() const; 00146 uint32_t bufferSize() const; 00147 00155 const void* dataBuffer() const; 00156 uint32_t byteSkip() const; 00157 00158 private: 00159 DataMessage(); 00160 DataMessage(const DataMessage& rhs); 00161 DataMessage& operator=(const DataMessage& rhs); 00162 }; 00166 } // namespace Katana 00167 } // namespace Foundry 00168 00169 #endif
1.7.3