home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Computer Club Elmshorn Atari PD
/
CCE_PD.iso
/
pc
/
0400
/
CCE_0423.ZIP
/
CCE_0423.PD
/
INCLUD83.ZOO
/
screen.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-07-20
|
2KB
|
71 lines
#ifndef _SCREEN_H
#define _SCREEN_H
#ifdef __cplusplus
extern "C" {
#endif
/* Data structures for IOCTL on /dev/screen */
#define SCR_NUM_COLORS 16 /* max possible num. of colors */
/* SCR_ALIGN gives a mask telling how the physical screen must be
aligned (for the SCRSETP ioctl call. A typical use might be
newscrn = malloc(size + SCR_ALIGN) & (~SCR_ALIGN)
If SCR_ALIGN is -1, then the physical screen may not be remapped
*/
#define SCR_ALIGN 0x0ffL
/* define the following only if the physical memory occupied by the
screen is not accessible to user programs without an operating
system request to re-map or shar memory (i.e. don't define this
unless you have a version of Minix with a hardware memory
manager
*/
/* #define SCR_VIRT_MEM */ /* screen lives in virtual memory */
/* physical screen attributes; information returned by the
SCRGETPARAM ioctl call */
struct scr_param {
long scr_base; /* physical address of screen */
short scr_width; /* width of screen (pixels) */
short scr_height; /* height of screen (pixels) */
short scr_depth; /* no. of bitplanes on screen */
short scr_mode; /* special mode info about screen */
};
/* Each palette entry for the screen colors holds three entries;
the red, green, and blue values for this color, from 0 (no color)
to 255 (max. color).
The actual number of different values recognized by the hardware
is given by SCR_RGB_VALUES; for example, the atari ST recognizes
only 8 possible values for each of red, green, and blue, for
a total of 512 colors; for it, SCR_RGB_VALUES == 8.
*/
#define SCR_RGB_VALUES 8
/* constants for accessing the scr_rgb array */
#define RED 0
#define BLUE 1
#define GREEN 2
/* data structure returned by SCRGETCOLOR ioctl call */
struct scr_palette {
unsigned char scr_rgb[SCR_NUM_COLORS][3];
};
#define SCRGETPARAM (('S'<<8) | 1)
#define SCRSETPARAM (('S'<<8) | 2)
#define SCRGETCOLOR (('S'<<8) | 3)
#define SCRSETCOLOR (('S'<<8) | 4)
#ifdef __cplusplus
}
#endif
#endif /* _SCREEN_H */