OSDN Git Service

NSDフォントプラグイン登録
[kimikage-nscr/kimikage-nscr.git] / nsdfont / src / ArgbBitmap.h
diff --git a/nsdfont/src/ArgbBitmap.h b/nsdfont/src/ArgbBitmap.h
new file mode 100755 (executable)
index 0000000..d753a84
--- /dev/null
@@ -0,0 +1,42 @@
+/*\r
+ *     Kimikage NScripter Plugins Project\r
+ *\r
+ *     This software is distributed under a BSD-style license.\r
+ *     See license.txt for more information.\r
+ */\r
+\r
+#pragma once\r
+\r
+#include "ArgbArray.h"\r
+\r
+namespace nsdfont\r
+{\r
+       class ArgbBitmap\r
+       {\r
+       private:\r
+               int width;\r
+               int height;\r
+               unsigned char *bits;\r
+               size_t allocated;\r
+       public:\r
+               ArgbBitmap( int width, int height, unsigned char *bits );\r
+               ArgbBitmap( int width, int height );\r
+               virtual ~ArgbBitmap( void );\r
+               inline unsigned char &operator[]( size_t i ) const { return bits[i]; }\r
+               inline int getWidth( void ) const { return width; }\r
+               inline int getHeight( void ) const { return height; }\r
+               inline int getPitch( void ) const { return width * 4; }\r
+               /**\r
+                *      \8ew\92è\82µ\82½\88Ê\92u\82©\82ç\82Ì\89æ\91f\97ñ\82ð\8eæ\93¾\82·\82é.\r
+                *      @param x x\95û\8cü\82Ì\88Ê\92u.\r
+                *      @param y y\95û\8cü\82Ì\88Ê\92u.\r
+                *      @return \89æ\91f\97ñ\r
+                *      @attention \94z\97ñ\82Ì\91å\82«\82³\82É\82Â\82¢\82Ä\82Ì\8fî\95ñ\82Í\8e\9d\82½\82È\82¢. \8eg\97p\8eÒ\82ª\92\8d\88Ó\82µ\82Ä\88µ\82¤\82±\82Æ.\r
+                */\r
+               inline ArgbArray getArray( int x, int y ) const\r
+               {\r
+                       return ArgbArray( &bits[(x + y * width) * 4] );\r
+               }\r
+       };\r
+\r
+}\r