HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IMG_TileBuffer.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: IMG_TileBuffer.h ( IMG Library, C++)
7  *
8  * COMMENTS: Defines a base class for the random access tile devices.
9  */
10 
11 #ifndef __IMG_TileBuffer__
12 #define __IMG_TileBuffer__
13 
14 #include "IMG_API.h"
15 #include <UT/UT_NonCopyable.h>
16 
17 class IMG_Raster;
18 
20 {
21 public:
23  virtual ~IMG_TileBuffer() {}
24 
26 
27  virtual int getTileWidth() const = 0;
28  virtual int getTileHeight() const = 0;
29 
30  virtual void setQuitFlag(int val=1) = 0;
31  virtual int getQuitFlag() const = 0;
32 
33  virtual void setMouseXY(int x, int y) = 0;
34  virtual void getMouseXY(int &x, int &y) const = 0;
35 
36  // Semaphore mechanism for safe tile read/write
37  virtual int canWriteTile() const = 0;
38  virtual int canReadTile() const = 0;
39 
40  virtual void writeTile(int xl, int xr, int yb, int yt,
41  const void *data) = 0;
42 
43  // If coordinates are passed in, they will be filled with:
44  // coords[0] = xl, coords[1] = xr;
45  // coords[2] = yb, coords[3] = yt;
46  virtual void readTile(IMG_Raster &rp, int *coords=0) = 0;
47  virtual void getKeyString(char *str) = 0;
48 
49 protected:
50  virtual void setTileSize(int w, int h) = 0;
51 };
52 
53 #endif
54 
virtual ~IMG_TileBuffer()
GLint y
Definition: glcorearb.h:103
#define IMG_API
Definition: IMG_API.h:10
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
GLuint coords
Definition: glad.h:4091
GLint GLenum GLint x
Definition: glcorearb.h:409
GLfloat GLfloat GLfloat GLfloat h
Definition: glcorearb.h:2002
GLuint GLfloat * val
Definition: glcorearb.h:1608
GLubyte GLubyte GLubyte GLubyte w
Definition: glcorearb.h:857
Definition: format.h:895