brender-v1.3.2/drivers/s3_win/drv_ip.h
2022-05-03 13:10:51 -07:00

154 lines
5.1 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Copyright (c) 1993-1995 Argonaut Technologies Limited. All rights reserved.
*
* $Id: drv_ip.h 1.2 1998/10/21 15:18:31 jon Exp $
* $Locker: $
*
* Prototypes for functions internal to driver
*/
#ifndef _DRV_IP_H_
#define _DRV_IP_H_
#ifndef NO_PROTOTYPES
#ifdef __cplusplus
extern "C" {
#endif
/*
* driver.c
*/
extern br_device DriverDeviceS3;
/*
* object.c
*/
char * BR_CMETHOD_DECL(br_object_s3, identifier)(br_object *self);
br_device * BR_CMETHOD_DECL(br_object_s3, device)(br_object *self);
/*
* device.c
*/
br_error DeviceS3Initialise(br_device *dev);
/*
* outfcty.c
*/
br_error OutputFacilityS3Initialise(br_device *dev);
/*
* dpmfront.c
*/
br_device_pixelmap * DevicePixelmapS3Allocate(br_device *dev, br_output_facility *type, br_token_value *tv);
static br_token BufferMethodInit(br_device *dev, br_token method_hint);
br_token BR_CMETHOD_DECL(br_device_pixelmap_s3, type)(br_device_pixelmap *self);
br_boolean BR_CMETHOD_DECL(br_device_pixelmap_s3, isType)(br_device_pixelmap *self, br_token t);
br_int_32 BR_CMETHOD_DECL(br_device_pixelmap_s3, space)(br_device_pixelmap *self);
struct br_tv_template * BR_CMETHOD_DECL(br_device_pixelmap_s3, queryTemplate)(br_device_pixelmap *self);
/*
* dpmback.c
*/
br_error BufferMethodDirectDrawInit(br_device *dev);
br_error BufferDirectDrawAllocate(br_device_pixelmap *self);
br_error BufferDirectDrawAllocateOff(br_device_pixelmap *self, br_device_pixelmap **newpm, int w, int h);
br_error BufferDirectDrawFree(br_device_pixelmap *self);
br_error DoubleBufferDirectDraw(br_device_pixelmap *self, br_device_pixelmap *src);
br_error DoubleBufferDirtyDirectDraw(br_device_pixelmap *self, br_device_pixelmap *src, br_rectangle *dirty, br_int_32 num_rects);
static br_error LockSurface(br_device_pixelmap *self);
static br_error UnlockSurface(br_device_pixelmap *self);
br_error BR_CMETHOD_DECL(br_device_pixelmap_s3_dd, copyBits)\
(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_s3_dd, line)\
(br_device_pixelmap *self, br_point *s, br_point *e, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_s3_dd, pixelSet)\
(br_device_pixelmap *self, br_point *p, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_s3_dd, rectangleFill)\
(br_device_pixelmap *self, br_rectangle *r, br_uint_32 colour);
br_error BR_CMETHOD_DECL(br_device_pixelmap_s3_dd, rectangleCopy)\
(br_device_pixelmap *self, br_point *p, br_device_pixelmap *src, br_rectangle *r);
br_error BR_CMETHOD_DECL(br_device_pixelmap_s3_dd, rectangleCopyTo)\
(br_device_pixelmap *self, br_point *p, br_device_pixelmap *src, br_rectangle *r);
br_error BR_CMETHOD_DECL(br_device_pixelmap_s3_dd, rectangleCopyFrom)\
(br_device_pixelmap *self, br_point *p, br_device_pixelmap *src, br_rectangle *r);
br_error BR_CMETHOD_DECL(br_device_pixelmap_s3_dd, rectangleStretchCopy)\
(br_device_pixelmap *self, br_rectangle *d, br_device_pixelmap *src, br_rectangle *s);
br_error BR_CMETHOD_DECL(br_device_pixelmap_s3_dd, rectangleStretchCopyTo)\
(br_device_pixelmap *self, br_rectangle *d, br_device_pixelmap *src, br_rectangle *s);
br_error BR_CMETHOD_DECL(br_device_pixelmap_s3_dd, rectangleStretchCopyFrom)\
(br_device_pixelmap *self, br_rectangle *d, br_device_pixelmap *src, br_rectangle *s);
br_error BR_CMETHOD_DECL(br_device_pixelmap_s3_dd, directLock)(br_device_pixelmap *self, br_boolean block);
br_error BR_CMETHOD_DECL(br_device_pixelmap_s3_dd, directUnlock)(br_device_pixelmap *self);
/*
* devclut.c
*/
br_device_clut * DeviceClutS3Allocate(br_device *dev, br_device_pixelmap *dpm, char *identifier);
/*
* plib.c
*/
extern br_token PrimPartsTokensS3[];
br_error PrimitiveLibraryHardS3Initialise(struct br_primitive_library * self, br_device *dev);
/*
* pstate.c
*/
struct br_primitive_state * PrimitiveStateHardS3Allocate(struct br_primitive_library *plib);
/*
* sbuffer.c
*/
br_error S3SetupRenderBuffer(struct render_buffer *rb,
br_device_pixelmap *pm,
br_buffer_stored *self,
br_boolean texture);
struct br_buffer_stored * BufferStoredHardS3Allocate(struct br_primitive_library *plib,
br_token use, struct br_device_pixelmap *pm, br_token_value *tv);
/*
* match.c
*/
br_error BR_CMETHOD_DECL(br_primitive_state_hardS3, renderBegin)(
struct br_primitive_state *self,
struct brp_block **rpb,
br_boolean *pchanged,
br_boolean *ranges_changed,
br_boolean no_render,
br_token prim_type);
br_error BR_CMETHOD_DECL(br_primitive_state_hardS3, renderEnd)(
struct br_primitive_state *self,
struct brp_block *rpb);
br_error BR_CMETHOD_DECL(br_primitive_state_hardS3, rangesQueryF)(
struct br_primitive_state *self,
br_float *offset,
br_float *scale,
br_int_32 max_comp);
br_error BR_CMETHOD_DECL(br_primitive_state_hardS3, rangesQueryX)(
struct br_primitive_state *self,
br_fixed_ls *offset,
br_fixed_ls *scale,
br_int_32 max_comp);
/*
* ocfree.c
*/
br_error ObjectContainerFree(struct br_object_container *self, br_token type, char *pattern, br_token_value *tv);
#ifdef __cplusplus
};
#endif
#endif
#endif