home *** CD-ROM | disk | FTP | other *** search
- ////////////////////////////////////////////////////////////////////////////////
- /////// Copyright 1992, Silicon Graphics, Inc. All Rights Reserved. ///////
- // //
- // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.; //
- // the contents of this file may not be disclosed to third parties, copied //
- // or duplicated in any form, in whole or in part, without the prior written //
- // permission of Silicon Graphics, Inc. //
- // //
- // RESTRICTED RIGHTS LEGEND: //
- // Use,duplication or disclosure by the Government is subject to restrictions //
- // as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data //
- // and Computer Software clause at DFARS 252.227-7013, and/or in similar or //
- // successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished - //
- // rights reserved under the Copyright Laws of the United States. //
- // //
- ////////////////////////////////////////////////////////////////////////////////
- #ifndef VKDOUBLEBUFFER_H
- #define VKDOUBLEBUFFER_H
-
- #include <Vk/VkComponent.h>
-
- class VkDoubleBuffer : public VkComponent {
-
- public:
-
- VkDoubleBuffer(const char * name, Widget);
- ~VkDoubleBuffer();
- virtual void update();
- virtual const char* className();
-
- virtual void setBackground(Pixel bg);
-
- protected:
-
- Pixmap _canvas;
-
- Dimension _width, _height;
-
- virtual void resize();
- virtual void draw() = 0;
-
- private:
-
- GC _buffergc;
- Pixmap _front, _back;
-
- static void redisplayCallback(Widget, XtPointer, XtPointer);
- static void resizeCallback(Widget, XtPointer, XtPointer);
- void redisplay();
- void hiddenResize();
- void swapBuffers();
- };
-
- #endif
-