Changeset 8077
- Timestamp:
- Mar 15, 2011, 9:00:05 PM (14 years ago)
- Location:
- code/branches/usability/src/modules/designtools
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/usability/src/modules/designtools/ScreenshotManager.cc
r8076 r8077 59 59 60 60 /** 61 * @brief Creates a screenshot with the given camera. 62 * @param camera Pointer to the camera "looking at" the scene of interest 63 * @param fileName the filename of the screenshot file. 64 */ 61 @brief 62 Creates a screenshot with the given camera. 63 @param camera 64 Pointer to the camera "looking at" the scene of interest 65 @param fileName 66 the filename of the screenshot file. 67 */ 65 68 void ScreenshotManager::makeScreenshot() const 66 69 { … … 153 156 } 154 157 158 /** 159 @brief 160 Set the size of the grid. 161 @param size 162 The size of the grid. 163 */ 164 void ScreenshotManager::setGridSize(unsigned int size) 165 { 166 if(size == this->mGridSize_) 167 return; 168 169 this->mGridSize_ = size; 170 // New PixelBox for the changed size. 171 uint8_t* data_ = new uint8_t[(this->mWindowWidth_ * this->mGridSize_) * (this->mWindowHeight_ * this->mGridSize_) * 3]; 172 this->mFinalPicturePB_ = Ogre::PixelBox(this->mWindowWidth_ * this->mGridSize_, this->mWindowHeight_ * this->mGridSize_, 1, Ogre::PF_B8G8R8, data_); 173 } 174 175 /** 176 @brief 177 Get a timestamp for the curent time instant. 178 @return 179 Returns a string with the timestamp. 180 */ 155 181 std::string ScreenshotManager::getTimestamp() 156 182 { -
code/branches/usability/src/modules/designtools/ScreenshotManager.h
r8076 r8077 20 20 { 21 21 22 23 /* Class encapsulates Screenshot functionality and provides a method for making multi grid screenshots. 24 * pRenderWindow: Pointer to the render window. This could be "mWindow" from the ExampleApplication, 25 * the window automatically created obtained when calling 26 * Ogre::Root::getSingletonPtr()->initialise(false) and retrieved by calling 27 * "Ogre::Root::getSingletonPtr()->getAutoCreatedWindow()", or the manually created 28 * window from calling "mRoot->createRenderWindow()". 29 * gridSize: The magnification factor. A 2 will create a 2x2 grid, doubling the size of the 30 screenshot. A 3 will create a 3x3 grid, tripling the size of the screenshot. 31 * fileExtension: The extension of the screenshot file name, hence the type of graphics file to generate. 32 * To generate "MyScreenshot.png" this parameter would contain ".png". 22 /** 23 @brief 24 Class encapsulates Screenshot functionality and provides a method for making multi grid screenshots. 33 25 */ 34 26 class ScreenshotManager : public OrxonoxClass, public Singleton<ScreenshotManager> … … 36 28 friend class Singleton<ScreenshotManager>; 37 29 38 public:39 ScreenshotManager();40 ~ScreenshotManager();30 public: 31 ScreenshotManager(); 32 virtual ~ScreenshotManager(); 41 33 42 /** 43 * @briefCreates a screenshot with the given camera. 44 * @param camera Pointer to the camera "looking at" the scene of interest 45 * @param fileName the filename of the screenshot file. 46 */ 47 void makeScreenshot() const; 34 void makeScreenshot() const; //!< Creates a screenshot with the given camera. 48 35 49 //static void makeScreenshot_s() 50 // { getInstance().makeScreenshot(); } 51 static void makeScreenshot_s(unsigned int size) 52 { getInstance().setGridSize(size); getInstance().makeScreenshot(); } 36 /** 37 @brief Creates a screenshot with a given size. 38 @param size Size is factor by which the current screen size is scaled. 39 */ 40 static void makeScreenshot_s(unsigned int size) 41 { getInstance().setGridSize(size); getInstance().makeScreenshot(); } 53 42 54 void setGridSize(unsigned int size) 55 { 56 this->mGridSize_ = size; 57 uint8_t* data_ = new uint8_t[(this->mWindowWidth_ * this->mGridSize_) * (this->mWindowHeight_ * this->mGridSize_) * 3]; 58 this->mFinalPicturePB_ = Ogre::PixelBox(this->mWindowWidth_ * this->mGridSize_, this->mWindowHeight_ * this->mGridSize_, 1, Ogre::PF_B8G8R8, data_); 59 } 43 void setGridSize(unsigned int size); //!< Set the size of the grid. 60 44 61 protected:62 static std::string getTimestamp();45 protected: 46 static std::string getTimestamp(); 63 47 64 std::string mFileExtension_; 65 unsigned int mGridSize_, mWindowWidth_, mWindowHeight_; 66 bool mDisableOverlays_; 67 //temp texture with current screensize 68 Ogre::TexturePtr mTempTex_; 69 Ogre::RenderTexture* mRT_; 70 Ogre::HardwarePixelBufferSharedPtr mBuffer_; 71 //PixelBox for a large Screenshot, if grid size is > 1 72 Ogre::PixelBox mFinalPicturePB_; 73 uint8_t* data_; 48 std::string mFileExtension_; 49 unsigned int mGridSize_; //!< The magnification factor. A 2 will create a 2x2 grid, doubling the size of the screenshot. A 3 will create a 3x3 grid, tripling the size of the screenshot. 50 unsigned int mWindowWidth_, mWindowHeight_; 51 bool mDisableOverlays_; 52 //! temp texture with current screensize 53 Ogre::TexturePtr mTempTex_; 54 Ogre::RenderTexture* mRT_; 55 Ogre::HardwarePixelBufferSharedPtr mBuffer_; 56 //! PixelBox for a large Screenshot, if grid size is > 1 57 Ogre::PixelBox mFinalPicturePB_; 58 uint8_t* data_; 74 59 75 static ScreenshotManager* singletonPtr_s;60 static ScreenshotManager* singletonPtr_s; 76 61 }; 77 62 -
code/branches/usability/src/modules/designtools/SkyboxGenerator.cc
r7284 r8077 59 59 60 60 this->setConfigValues(); 61 t akeScreenshot_ = false;61 this->takeScreenshot_ = false; 62 62 this->captionsRemoved_ = false; 63 63 }
Note: See TracChangeset
for help on using the changeset viewer.