brender-v1.3.2/ddi_inc/pm_ip.h
2022-05-03 13:10:51 -07:00

352 lines
16 KiB
C

/*
* Copyright (c) 1993-1995 Argonaut Technologies Limited. All rights reserved.
*
* $Id: pm_ip.h 1.3 1998/09/02 13:41:56 johng Exp $
* $Locker: $
*
* Prototypes for functions internal to pixelmap support
*/
#ifndef _PM_IP_H_
#define _PM_IP_H_
#ifndef NO_PROTOTYPES
#ifdef __cplusplus
extern "C" {
#endif
/*
* pixelmap.c
*/
br_uint_16 BR_RESIDENT_ENTRY BrPixelmapFileSize(br_pixelmap *pm);
/*
* pmmem.c
*/
struct br_device_pixelmap * DevicePixelmapMemAllocate(br_uint_8 type,br_uint_16 w,br_uint_16 h, void *pixels, int flags);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, validSource)
(struct br_device_pixelmap *self, br_object *h);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, resize)
(struct br_device_pixelmap *self, br_int_32 width, br_int_32 height);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, match)
(struct br_device_pixelmap *self, struct br_device_pixelmap **newpm, br_token_value *tv);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, allocateSub)
(struct br_device_pixelmap *self, struct br_device_pixelmap **newpm, br_rectangle *rect);
/*
* Operations on whole pixemap (with versions that include a hint dirty rectangle)
*/
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, copyTo)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, copyFrom)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, fill)
(struct br_device_pixelmap *self, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, doubleBuffer)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, copyDirty)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, copyToDirty)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, copyFromDirty)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, fillDirty)
(struct br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, doubleBufferDirty)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, rectangle)
(struct br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, rectangle2)
(struct br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour_tl, br_uint_32 colour_br);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, rectangleCopyTo)
(struct br_device_pixelmap *self, br_point *p, struct br_device_pixelmap *mem, br_rectangle *r);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, rectangleCopyFrom)
(struct br_device_pixelmap *self, br_point *p, struct br_device_pixelmap *mem, br_rectangle *r);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, rectangleStretchCopyTo)
(struct br_device_pixelmap *self, br_rectangle *d, struct br_device_pixelmap *mem, br_rectangle *s);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, rectangleStretchCopyFrom)
(struct br_device_pixelmap *self, br_rectangle *d, struct br_device_pixelmap *mem, br_rectangle *s);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, rectangleFill)
(struct br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, pixelSet)
(struct br_device_pixelmap *self, br_point *point, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, line)
(struct br_device_pixelmap *self, br_point *s, br_point *e, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, copyBits)
(struct br_device_pixelmap *self, br_point *point,
br_uint_8 *src,br_uint_16 s_stride,
br_rectangle *bit_rect,
br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, rowSize)(struct br_device_pixelmap *self,
br_size_t *sizep);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, rowQuery)(struct br_device_pixelmap *self,
void *buffer,
br_size_t buffer_size,
br_int_32 row);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, rowSet)(struct br_device_pixelmap *self,
void *buffer,
br_size_t buffer_size,
br_int_32 row);
/*
* Reading back
*/
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, pixelQuery)
(struct br_device_pixelmap *self, br_uint_32 *pcolour, br_point *point);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, pixelAddressQuery)
(struct br_device_pixelmap *self, void **pptr, br_uint_32 *pqual, br_point *point);
/*
* Updating the pixelmap
*/
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, pixelAddressSet)(struct br_device_pixelmap *self, void *ptr, br_uint_32 *qual);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, originSet)(struct br_device_pixelmap *self, br_point *p);
/*
* General information
*/
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, wordBytesQuery)(struct br_device_pixelmap *self, br_size_t *bytes);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, pixelBitsQuery)(struct br_device_pixelmap *self, br_uint_32 *pbits);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, channelsQuery)(struct br_device_pixelmap *self, br_uint_32 *pchannels);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, flush)(
struct br_device_pixelmap *self);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, synchronise)(
struct br_device_pixelmap *self,
br_token sync_type,
br_boolean block);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, directLock)(
struct br_device_pixelmap *self,
br_boolean block);
br_error BR_CMETHOD_DECL(br_device_pixelmap_mem, directUnlock)(
struct br_device_pixelmap *self);
/*
* pmgen.c
*/
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, copy)(struct br_device_pixelmap *self, struct br_device_pixelmap *src);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, copyTo)(struct br_device_pixelmap *self, struct br_device_pixelmap *src);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, copyFrom)(struct br_device_pixelmap *self, struct br_device_pixelmap *src);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, fill)(struct br_device_pixelmap *self, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, doubleBuffer)(struct br_device_pixelmap *self, struct br_device_pixelmap *src);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, copyDirty)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, copyToDirty)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, copyFromDirty)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, fillDirty)
(struct br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, doubleBufferDirty)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, rectangle)
(struct br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, rectangle2)
(struct br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour_tl, br_uint_32 colour_br);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, line)(struct br_device_pixelmap *self, br_point *s, br_point *e, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, text)(struct br_device_pixelmap *self, br_point *point,
br_font *font,
char *text,
br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, textBounds)(struct br_device_pixelmap *self,
br_rectangle *rect,
br_font *font,
char *text);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, copyBits)
(struct br_device_pixelmap *self, br_point *point,
br_uint_8 *src,br_uint_16 s_stride,
br_rectangle *bit_rect,
br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, flush)(struct br_device_pixelmap *self);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, synchronise)(struct br_device_pixelmap *self,br_token sync_type,br_boolean block);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, directLock)(struct br_device_pixelmap *self, br_boolean block);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, directUnlock)(struct br_device_pixelmap *self);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, getControls)(struct br_device_pixelmap *self, br_display_controls * controls);
br_error BR_CMETHOD_DECL(br_device_pixelmap_gen, setControls)(struct br_device_pixelmap *self, br_display_controls * controls);
/*
* pmnull.c
*/
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, resize)(struct br_device_pixelmap *self, br_int_32 width, br_int_32 height);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, copyTo)(struct br_device_pixelmap *self, struct br_device_pixelmap *src);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, copyFrom)(struct br_device_pixelmap *self, struct br_device_pixelmap *src);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, fill)(struct br_device_pixelmap *self, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, doubleBuffer)(struct br_device_pixelmap *self, struct br_device_pixelmap *src);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, copyDirty)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, copyToDirty)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, copyFromDirty)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, fillDirty)
(struct br_device_pixelmap *self, br_uint_32 colour, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, doubleBufferDirty)
(struct br_device_pixelmap *self, struct br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, rectangleCopyTo)
(struct br_device_pixelmap *self, br_point *p, struct br_device_pixelmap *src, br_rectangle *r);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, rectangleCopyFrom)
(struct br_device_pixelmap *self, br_point *p, struct br_device_pixelmap *mem, br_rectangle *r);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, rectangleStretchCopyTo)
(struct br_device_pixelmap *self, br_rectangle *d, struct br_device_pixelmap *mem, br_rectangle *s);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, rectangleStretchCopyFrom)
(struct br_device_pixelmap *self, br_rectangle *d, struct br_device_pixelmap *mem, br_rectangle *s);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, rectangleFill)
(struct br_device_pixelmap *self, br_rectangle *rect, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, pixelSet)
(struct br_device_pixelmap *self, br_point *p, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, copyBits)
(struct br_device_pixelmap *self, br_point *point,
br_uint_8 *src,br_uint_16 s_stride,
br_rectangle *bit_rect,
br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, pixelQuery)
(struct br_device_pixelmap *self, br_uint_32 *pcolour, br_point *p);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, pixelAddressQuery)
(struct br_device_pixelmap *self, void **pptr, br_uint_32 *pqual, br_point *p);
br_error BR_CMETHOD_DECL(br_device_pixelmap_null, pixelAddressSet)(struct br_device_pixelmap *self, void *ptr, br_uint_32 *qual);
/*
* gencopy.c
*/
br_error GeneralRectangleCopy(
struct br_device_pixelmap *dest,
br_point *p,
struct br_device_pixelmap *src,
br_rectangle *r);
br_error GeneralCopy(
struct br_device_pixelmap *dst,
struct br_device_pixelmap *src);
br_error GeneralRectangleStretchCopy(
struct br_device_pixelmap *dst,
br_rectangle *d,
struct br_device_pixelmap *src,
br_rectangle *s);
/*
* genclip.c
*/
br_clip_result BR_RESIDENT_ENTRY PixelmapPointClip(br_point *out, br_point *in, br_pixelmap *pm);
br_clip_result BR_RESIDENT_ENTRY PixelmapLineClip(br_point *s_out, br_point *e_out, br_point *s_in, br_point *e_in, br_pixelmap *pm);
br_clip_result BR_RESIDENT_ENTRY PixelmapRectangleClip(br_rectangle *out, br_rectangle *in, br_pixelmap *pm);
br_clip_result BR_RESIDENT_ENTRY PixelmapRectangleClipTwo(
br_rectangle *r_out, br_point *p_out,
br_rectangle *r_in, br_point *p_in,
br_pixelmap *pm_dst, br_pixelmap *pm_src);
br_clip_result BR_RESIDENT_ENTRY PixelmapRectanglesClipTwo(
br_rectangle *s_out, br_rectangle *d_out,
br_rectangle *s_in, br_rectangle *d_in,
br_pixelmap *pm_dst, br_pixelmap *pm_src);
br_clip_result BR_RESIDENT_ENTRY PixelmapCopyBitsClip(
br_rectangle *r_out, br_point *p_out,
br_rectangle *r_in, br_point *p_in,
br_pixelmap *pm_dst);
/*
* memloops.asm
*/
void BR_ASM_CALL _MemCopyBits_A(
char *dest, br_uint_32 dest_qual, br_int_32 d_stride,
br_uint_8 *src,br_uint_32 s_stride,
br_uint_32 start_bit,br_uint_32 end_bit,
br_uint_32 nrows,br_uint_32 bpp, br_uint_32 colour);
void BR_ASM_CALL _MemFill_A(char *dest,
br_uint_32 dest_qual, br_uint_32 pixels, br_uint_32 bpp,
br_uint_32 colour);
void BR_ASM_CALL _MemRectFill_A(char *dest,
br_uint_32 dest_qual, br_uint_32 pwidth, br_uint_32 pheight,
br_int_32 d_stride, br_uint_32 bpp, br_uint_32 colour);
void BR_ASM_CALL _MemRectCopy_A(char *dest,
br_uint_32 dest_qual, char *src, br_uint_32 src_qualifier,
br_uint_32 pwidth, br_uint_32 pheight,
br_int_32 d_stride,br_int_32 s_stride,
br_uint_32 bpp);
void BR_ASM_CALL _MemCopy_A(char *dest,
br_uint_32 dest_qual, char *src, br_uint_32 src_qualifier,
br_uint_32 pixels, br_uint_32 bpp);
void BR_ASM_CALL _MemRectCopySourceColourKey0_A(char *dest,
br_uint_32 dest_qual, char *src, br_uint_32 src_qualifier,
br_uint_32 pwidth, br_uint_32 pheight,
br_int_32 d_stride,br_int_32 s_stride,
br_uint_32 bpp);
void BR_ASM_CALL _MemCopySourceColourKey0_A(char *dest,
br_uint_32 dest_qual, char *src, br_uint_32 src_qualifier,
br_uint_32 pixels, br_uint_32 bpp);
void BR_ASM_CALL _MemPixelSet(char *dest,
br_uint_32 dest_qual, br_uint_32 bytes, br_uint_32 colour);
br_uint_32 BR_ASM_CALL _MemPixelGet(char *dest,
br_uint_32 dest_qual, br_uint_32 bytes);
br_uint_16 BR_ASM_CALL _GetSysQual(void);
void BR_ASM_CALL _MemFillFPU_A(char *dest,
br_uint_32 dest_qual, br_uint_32 pixels, br_uint_32 bpp,
br_uint_32 colour);
void BR_ASM_CALL _MemRectFillFPU_A(char *dest,
br_uint_32 dest_qual, br_uint_32 pwidth, br_uint_32 pheight,
br_uint_32 stride, br_uint_32 bpp, br_uint_32 colour);
void BR_ASM_CALL _MemCopyFPU_A(char *dest,
br_uint_32 dest_qual, char *src, br_uint_32 src_qualifier,
br_uint_32 pixels, br_uint_32 bpp);
void BR_ASM_CALL _MemRectCopyFPU_A(char *dest,
br_uint_32 dest_qual, char *src, br_uint_32 src_qualifier,
br_uint_32 pwidth, br_uint_32 pheight,
br_uint_32 d_stride, br_uint_32 s_stride, br_uint_32 bpp);
/*
* pixelmap.c
*/
br_uint_16 BR_RESIDENT_ENTRY BrPixelmapFileSize(br_pixelmap *pm);
/*
* pmdspth.c
*/
br_error DispatchCopy(struct br_device_pixelmap *self, struct br_device_pixelmap *src);
br_error DispatchRectangleCopy(struct br_device_pixelmap *self, struct br_point *p, struct br_device_pixelmap *src, struct br_rectangle *r);
br_error DispatchRectangleStretchCopy(struct br_device_pixelmap *self, struct br_rectangle *d, struct br_device_pixelmap *src, struct br_rectangle *s);
/*
* mipsupt.c
*/
br_size_t BrPixelmapMipMemorySize(int dimension,br_uint_8 type);
/*
* pmsetup.c
*/
struct br_pixelmap_state * BR_RESIDENT_ENTRY PixelmapState();
#ifdef __cplusplus
};
#endif
#endif
#endif