Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FXBitmapView.h

00001 /******************************************************************************** 00002 * * 00003 * B i t m a p V i e w W i d g e t * 00004 * * 00005 ********************************************************************************* 00006 * Copyright (C) 2000,2004 by Jeroen van der Zijp. All Rights Reserved. * 00007 ********************************************************************************* 00008 * This library is free software; you can redistribute it and/or * 00009 * modify it under the terms of the GNU Lesser General Public * 00010 * License as published by the Free Software Foundation; either * 00011 * version 2.1 of the License, or (at your option) any later version. * 00012 * * 00013 * This library is distributed in the hope that it will be useful, * 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00016 * Lesser General Public License for more details. * 00017 * * 00018 * You should have received a copy of the GNU Lesser General Public * 00019 * License along with this library; if not, write to the Free Software * 00020 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * 00021 ********************************************************************************* 00022 * $Id: FXBitmapView.h,v 1.3.2.1 2004/08/13 05:16:16 fox Exp $ * 00023 ********************************************************************************/ 00024 #ifndef FXBITMAPVIEW_H 00025 #define FXBITMAPVIEW_H 00026 00027 #ifndef FXSCROLLAREA_H 00028 #include "FXScrollArea.h" 00029 #endif 00030 00031 namespace FX { 00032 00033 00034 class FXBitmap; 00035 00036 /// Bitmap alignment styles 00037 enum { 00038 BITMAPVIEW_NORMAL = 0, /// Normal mode is centered 00039 BITMAPVIEW_CENTER_X = 0, /// Centered horizontally 00040 BITMAPVIEW_LEFT = 0x00100000, /// Left-aligned 00041 BITMAPVIEW_RIGHT = 0x00200000, /// Right-aligned 00042 BITMAPVIEW_CENTER_Y = 0, /// Centered vertically 00043 BITMAPVIEW_TOP = 0x00400000, /// Top-aligned 00044 BITMAPVIEW_BOTTOM = 0x00800000 /// Bottom-aligned 00045 }; 00046 00047 /** 00048 * The Bitmap View widget display a scrollable view of a bitmap. 00049 */ 00050 class FXAPI FXBitmapView : public FXScrollArea { 00051 FXDECLARE(FXBitmapView) 00052 protected: 00053 FXBitmap *bitmap; // Image to view 00054 FXColor onColor; // Color for on pixels 00055 FXColor offColor; // Color for off pixels 00056 FXint grabx; // Grab point x 00057 FXint graby; // Grab point y 00058 protected: 00059 FXBitmapView(); 00060 private: 00061 FXBitmapView(const FXBitmapView&); 00062 FXBitmapView &operator=(const FXBitmapView&); 00063 public: 00064 long onPaint(FXObject*,FXSelector,void*); 00065 long onMotion(FXObject*,FXSelector,void*); 00066 long onRightBtnPress(FXObject*,FXSelector,void*); 00067 long onRightBtnRelease(FXObject*,FXSelector,void*); 00068 public: 00069 enum { 00070 ID_XYZ=FXScrollArea::ID_LAST, 00071 ID_LAST 00072 }; 00073 public: 00074 00075 /// Construct a scroll window 00076 FXBitmapView(FXComposite* p,FXBitmap* bmp=NULL,FXObject* tgt=NULL,FXSelector sel=0,FXuint opts=0,FXint x=0,FXint y=0,FXint w=0,FXint h=0); 00077 00078 /// Create server-side resources 00079 virtual void create(); 00080 00081 /// Detach server-side resources 00082 virtual void detach(); 00083 00084 /// Perform layout immediately 00085 virtual void layout(); 00086 00087 /// Image view widget can receive focus 00088 virtual FXbool canFocus() const; 00089 00090 /// Return the width of the contents 00091 virtual FXint getContentWidth(); 00092 00093 /// Return the height of the contents 00094 virtual FXint getContentHeight(); 00095 00096 /// Change image 00097 void setBitmap(FXBitmap* bmp); 00098 00099 /// Return image 00100 FXBitmap* getBitmap() const { return bitmap; } 00101 00102 /// Set on color 00103 void setOnColor(FXColor clr); 00104 00105 /// Get on color 00106 FXColor getOnColor() const { return onColor; } 00107 00108 /// Set off color 00109 void setOffColor(FXColor clr); 00110 00111 /// Get off color 00112 FXColor getOffColor() const { return offColor; } 00113 00114 /// Set the current alignment. 00115 void setAlignment(FXuint mode); 00116 00117 /// Get the current alignment. 00118 FXuint getAlignment() const; 00119 00120 /// Save list to a stream 00121 virtual void save(FXStream& store) const; 00122 00123 /// Load list from a stream 00124 virtual void load(FXStream& store); 00125 00126 /// Destroy 00127 virtual ~FXBitmapView(); 00128 }; 00129 00130 } 00131 00132 #endif

Copyright © 1997-2004 Jeroen van der Zijp