1 /***************************************************************************** 2 * scaled_bitmap.hpp 3 ***************************************************************************** 4 * Copyright (C) 2003 the VideoLAN team 5 * $Id: 819fb9be7acf842ba371e14022b207aee6824455 $ 6 * 7 * Authors: Cyril Deguet <asmax@via.ecp.fr> 8 * Olivier Teulière <ipkiss@via.ecp.fr> 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License as published by 12 * the Free Software Foundation; either version 2 of the License, or 13 * (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License along 21 * with this program; if not, write to the Free Software Foundation, Inc., 22 * 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. 23 *****************************************************************************/ 24 25 #ifndef SCALED_BITMAP_HPP 26 #define SCALED_BITMAP_HPP 27 28 #include "generic_bitmap.hpp" 29 30 31 /// Class for scaling bitmaps 32 class ScaledBitmap: public GenericBitmap 33 { 34 public: 35 /// Create a scaled bitmap from the given bitmap and size 36 ScaledBitmap( intf_thread_t *pIntf, const GenericBitmap &rBitmap, 37 int width, int height ); 38 39 virtual ~ScaledBitmap(); 40 41 /// Get the width of the bitmap getWidth() const42 virtual int getWidth() const { return m_width; } 43 44 /// Get the heighth of the bitmap getHeight() const45 virtual int getHeight() const { return m_height; } 46 47 /// Get a linear buffer containing the image data. 48 /// Each pixel is stored in 4 bytes in the order B,G,R,A getData() const49 virtual uint8_t *getData() const { return m_pData; } 50 51 private: 52 /// Bitmap size 53 int m_width, m_height; 54 /// Image data buffer 55 uint8_t *m_pData; 56 }; 57 58 59 #endif 60