/programs/bcc32/examples/rasterworks/Makefile |
---|
0,0 → 1,19 |
# Path to /programs |
SVN_PROGR:=../../.. |
# Path to /programs/bcc32 |
SVN_BCC32:=$(SVN_PROGR)/bcc32 |
# Path to t2fasm |
T2FASM:=$(SVN_BCC32)/t2fasm |
# Path to include |
INCLUDE:=$(SVN_BCC32)/include |
# Path to Bin folder |
KOS32_BCC:=/home/autobuild/borlandcpp/bin |
# Filename without .cpp |
FILENAME:=rasterworks |
include $(SVN_BCC32)/Makefile_app |
/programs/bcc32/examples/rasterworks/rasterworks.cpp |
---|
0,0 → 1,59 |
#include <kolibri.h> |
#include <kos_heap.h> |
#include <load_lib.h> |
#include <l_rasterworks.h> |
using namespace Kolibri; |
const char header[] = "Rasterworks example"; |
char library_path[2048]; |
namespace Kolibri{ |
char CurrentDirectoryPath[2048]; |
} |
void *buffi; |
bool KolibriOnStart(TStartData &kos_start, TThreadData /*th*/) |
{ |
kos_start.Left = 10; |
kos_start.Top = 40; |
kos_start.Width = 800; |
kos_start.Height = 300; |
kos_start.WinData.WindowColor = 0xd0d0d0; |
kos_start.WinData.WindowType = 0x33; // 0x34 - fixed, 0x33 - not fixed |
kos_start.WinData.Title = header; |
if(LoadLibrary("rasterworks.obj", library_path, "/sys/lib/rasterworks.obj", &import_rasterworks)) |
{ |
buffi = new char[768*256*3 +8]; |
*((long*)buffi) = 768; |
*((long*)buffi+1) = 256; |
} else { |
buffi = 0; |
} |
return true; |
} |
void KolibriOnPaint(void) |
{ |
DrawText(10,5, 0x30000000, "Системный шрифт 8x16"); |
if(!buffi) return; |
long ln_str = countUTF8Z("Пример работы", -1); |
memset((char*)buffi+8, (char)-1, 768*256*3); |
drawText(buffi, 0, 0, "Пример работы", ln_str, 0xFF000000, 0x30C18); |
drawText(buffi, 0, 32, "Пример работы", ln_str, 0xFF000000, 0x1030C18); |
drawText(buffi, 0, 64, "Пример работы", ln_str, 0xFF000000, 0x2030C18); |
drawText(buffi, 0, 96, "Пример работы", ln_str, 0xFF000000, 0x4030C18); |
drawText(buffi, 0,128, "Пример работы", ln_str, 0xFF000000, 0x8030C18); |
drawText(buffi, 0,160, "Пример работы", ln_str, 0xFF000000, 0x0F031428); |
PutImage((char*)buffi+8, 5, 25, 768, 256); |
} |
bool KolibriOnClose(TThreadData /*th*/) { |
if(buffi) {delete buffi; buffi = 0;} |
return true; |
} |
/programs/bcc32/examples/rasterworks/rasterworks_cpp.bat |
---|
0,0 → 1,15 |
Set NAME=rasterworks |
Set BCC_DIR=..\..\..\bcc32 |
kos32-bcc -S -v- -R- -6 -a4 -O2 -Og -Oi -Ov -OS -k- -D__KOLIBRI__ -I..\..\..\bcc32\include %NAME%.cpp |
echo STACKSIZE equ 8192> kos_make.inc |
echo include "%BCC_DIR%\include\kos_start.inc">> kos_make.inc |
echo include "%BCC_DIR%\include\kos_func.inc">> kos_make.inc |
echo include "%BCC_DIR%\include\kos_heap.inc">> kos_make.inc |
echo include "kos_make.inc" > f_%NAME%.asm |
t2fasm < %NAME%.asm >> f_%NAME%.asm |
fasm f_%NAME%.asm %NAME%.kex |
if exist %NAME%.kex kpack %NAME%.kex |
if exist %NAME%.kex del kos_make.inc |
pause |
/programs/bcc32/include/l_libc.h |
---|
0,0 → 1,51 |
#ifndef __L_LIBC_H_INCLUDED_ |
#define __L_LIBC_H_INCLUDED_ |
// |
// libc.obj |
// |
// |
// libc - import table |
// |
#define import_libc sprintf |
//int (* scanf)(char* __buffer, const char* __format, ...) = (int (*)(char*, const char*, ...))&"scanf"; //run console aplication ??? |
int (* sprintf)(char* __buffer, const char* __format, ...) = (int (*)(char*, const char*, ...))&"sprintf"; |
#ifndef __KOS_LIB_H_INCLUDED_ |
char* (* strchr)(const char* string, int c) = (char* (*)(const char*, int))&"strchr"; |
#endif |
char* (* strcat)(char* str1, const char* str2) = (char* (*)(char*, const char*))&"strcat"; |
#ifndef __KOS_LIB_H_INCLUDED_ |
int (* strcmp)(const char* str1, const char* str2) = (int (*)(const char*, const char*))&"strcmp"; |
#endif |
int (* strcoll)(const char* str1, const char* str2) = (int (*)(const char*, const char*))&"strcoll"; |
#ifndef __KOS_LIB_H_INCLUDED_ |
char* (* strcpy)(char* str1, const char* str2) = (char* (*)(char*, const char*))&"strcpy"; |
#endif |
int (* strcspn)(const char* string, const char* strCharSet) = (int (*)(const char*, const char*))&"strcspn"; |
char* (* strdup)(const char* str) = (char* (*)(const char*))&"strdup"; |
char* (* strerror)(int err) = (char* (*)(int))&"strerror"; |
#ifndef __KOS_LIB_H_INCLUDED_ |
int (* strlen)(const char* string) = (int (*)(const char*))&"strlen"; |
#endif |
char* (* strncat)(char* strDest, const char* strSource, int count) = (char* (*)(char*, const char*, int))&"strncat"; |
int (* strncmp)(const char* str1, const char* str2, int count) = (int (*)(const char*, const char*, int))&"strncmp"; |
#ifndef __KOS_LIB_H_INCLUDED_ |
char* (* strncpy)(char* strDest, const char* strSource, int count) = (char* (*)(char*, const char*, int))&"strncpy"; |
#endif |
char* (* strrchr)(const char* s, int c) = (char* (*)(const char*, int))&"strrchr"; |
char* (* strrev)(char* p) = (char* (*)(char*))&"strrev"; |
int (* strspn)(const char* string, const char* strCharSet) = (int (*)(const char*, const char*))&"strspn"; |
#ifndef __KOS_LIB_H_INCLUDED_ |
char* (* strstr)(const char* s, const char* find) = (char* (*)(const char*, const char*))&"strstr"; |
#endif |
char* (* strtok)(char* s, const char* delim) = (char* (*)(char*, const char*))&"strtok"; |
int (* strxfrm)(char* strDest, const char* strSource, int count) = (int (*)(char*, const char*, int))&"strxfrm"; |
double (* exp)(double x) = (double (*)(double))&"exp"; |
double (* fabs)(double x) = (double (*)(double))&"fabs"; |
asm{ |
dd 0,0 |
} |
#endif |
/programs/bcc32/include/l_rasterworks.h |
---|
0,0 → 1,17 |
#ifndef __L_RASTERWORKS_INCLUDED_ |
#define __L_RASTERWORKS_INCLUDED_ |
// |
// rasterworks - import table |
// |
#define import_rasterworks drawText |
void (__stdcall* drawText)(void *canvas, long x, long y, const char *string, long charQuantity, long fontColor, long params) = (void (__stdcall*)(void*, long, long, const char*, long, long, long))&"drawText"; |
long (__stdcall* countUTF8Z)(const char *string, long byteQuantity) = (long (__stdcall*)(const char*, long))&"countUTF8Z"; |
long (__stdcall* charsFit)(long areaWidth, long charHeight) = (long (__stdcall*)(long, long))&"charsFit"; |
long (__stdcall* strWidth)(long charQuantity, long charHeight) = (long (__stdcall*)(long, long))&"strWidth"; |
asm{ |
dd 0,0 |
} |
#endif /* __L_RASTERWORKS_INCLUDED_ */ |