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 + -
显示快捷键?