add wrappers for RasterWorks library

git-svn-id: svn://kolibrios.org@6494 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Serhii Sakhno 2016-08-19 10:14:48 +00:00
parent 76673b5219
commit 69c1cf47a2
2 changed files with 47 additions and 0 deletions

View File

@ -0,0 +1,36 @@
format coff
use32 ; Tell compiler to use 32 bit instructions
section '.flat' code ; Keep this line before includes or GCC messes up call addresses
;include 'struct.inc'
include '../../../programs/proc32.inc'
include '../../../programs/macros.inc'
purge section,mov,add,sub
include '../../../programs/dll.inc'
public init_rasterworks as '_kolibri_rasterworks_init'
;;; Returns 0 on success. -1 on failure.
proc init_rasterworks
mcall 68,11
stdcall dll.Load, @IMPORT
ret
endp
@IMPORT:
library lib_rasterworks, 'rasterworks.obj'
import lib_rasterworks, \
drawText , 'drawText' , \
countUTF8Z , 'cntUTF-8' , \
charsFit , 'charsFit' , \
strWidth , 'strWidth'
public drawText as '_drawText'
public countUTF8Z as '_countUTF8Z'
public charsFit as '_charsFit'
public strWidth as '_strWidth'

View File

@ -0,0 +1,11 @@
#ifndef KOLIBRI_RASTERWORKS_H
#define KOLIBRI_RASTERWORKS_H
extern int kolibri_rasterworks_init(void);
extern void (*drawText)(void *canvas, int x, int y, const char *string, int charQuantity, int fontColor, int params) __attribute__((__stdcall__));
extern int (*countUTF8Z)(const char *string, int byteQuantity) __attribute__((__stdcall__));
extern int (*charsFit)(int areaWidth, int charHeight) __attribute__((__stdcall__));
extern int (*strWidth)(int charQuantity, int charHeight) __attribute__((__stdcall__));
#endif /* KOLIBRI_RASTERWORKS_H */