bitmap.cpp
来自「SimpleGraphicOperatingSystem 32位图形化操作系统 」· C++ 代码 · 共 96 行
CPP
96 行
#include <System.h>
#include <osdef.h>
#include <Api.h> //Sgos api
namespace System{
BitmapInfo* Bitmap::CreateBitmap(int w, int h, int bpp)
{
return (BitmapInfo*)KCreateBitmap( w, h, bpp );
}
BitmapInfo* Bitmap::CreateCompatibleBitmap(BitmapInfo* bm, int w, int h)
{
return (BitmapInfo*)KCreateCompatibleBitmap( bm, w, h );
}
int Bitmap::DestroyBitmap( BitmapInfo* bm )
{
return KDestroyBitmap( bm );
}
BitmapInfo* Bitmap::LoadBitmap( const char* fileName )
{
return (BitmapInfo*)KLoadBitmap( fileName );
}
//Blit 拷贝位图
int Bitmap::Blit(BitmapInfo* dest, int x1, int y1, BitmapInfo* src, int x0, int y0, int w, int h, int flag )
{
return KBlit( dest, x1, y1, src, x0, y0, w, h, flag );
}
int Bitmap::AlphaBlend(BitmapInfo* dest, int x1, int y1, BitmapInfo* src, int x0, int y0, int w, int h, int alpha )
{
return KAlphaBlend( dest, x1, y1, src, x0, y0, w, h, alpha );
}
//带透明色的拷贝位图
int Bitmap::MaskBlit(BitmapInfo* dest, int x1, int y1, BitmapInfo* src, int x0, int y0, unsigned int maskCol )
{
return KMaskBlit( dest, x1, y1, src, x0, y0, maskCol );
}
int Bitmap::MakeColor( int red, int green, int blue )
{
return KMakeColor( red, green, blue );
}
//these are APIs
void Bitmap::PutPixel( BitmapInfo* img, int x, int y, unsigned int col )
{
KPutPixel( img, x, y, col );
}
unsigned int Bitmap::GetPoint( BitmapInfo* img, int x , int y)
{
return KGetPoint( img, x, y );
}
void Bitmap::Line( BitmapInfo* img, int x1, int y1, int x2, int y2, unsigned int col )
{
KLine( img, x1, y1, x2, y2, col );
}
void Bitmap::Rectangle( BitmapInfo* img, int x1, int y1, int x2, int y2, unsigned int col )
{
KRectangle( img, x1, y1, x2, y2, col );
}
void Bitmap::RectFill( BitmapInfo* img, int x1, int y1, int x2, int y2, unsigned int col )
{
KRectFill( img, x1, y1, x2, y2, col );
}
void Bitmap::Clear( BitmapInfo* img )
{
KClear( img );
}
int Bitmap::DrawText( void* img, const char* str, int len, int x, int y, int size, unsigned int col, int flag )
{
return KDrawText( img, (char*)str, len, x, y, size, col, flag );
}
int Bitmap::DrawTextEx( void* img, const char* str, int len, int x, int y, Rect* r, int size, unsigned int col, int flag )
{
return KDrawTextEx( img, (char*)str, len, x, y, (void*)r, size, col, flag );
}
int Bitmap::CalculateTextSize( char* str, int len, int size, int flag, int *cw, int *ch )
{
return KCalculateTextSize( str, len, size, flag, cw, ch );
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?