OSDN Git Service

NSDフォントプラグイン登録
[kimikage-nscr/kimikage-nscr.git] / nsdfont / src / ArgbBitmap.h
1 /*\r
2  *      Kimikage NScripter Plugins Project\r
3  *\r
4  *      This software is distributed under a BSD-style license.\r
5  *      See license.txt for more information.\r
6  */\r
7 \r
8 #pragma once\r
9 \r
10 #include "ArgbArray.h"\r
11 \r
12 namespace nsdfont\r
13 {\r
14         class ArgbBitmap\r
15         {\r
16         private:\r
17                 int width;\r
18                 int height;\r
19                 unsigned char *bits;\r
20                 size_t allocated;\r
21         public:\r
22                 ArgbBitmap( int width, int height, unsigned char *bits );\r
23                 ArgbBitmap( int width, int height );\r
24                 virtual ~ArgbBitmap( void );\r
25                 inline unsigned char &operator[]( size_t i ) const { return bits[i]; }\r
26                 inline int getWidth( void ) const { return width; }\r
27                 inline int getHeight( void ) const { return height; }\r
28                 inline int getPitch( void ) const { return width * 4; }\r
29                 /**\r
30                  *      \8ew\92è\82µ\82½\88Ê\92u\82©\82ç\82Ì\89æ\91f\97ñ\82ð\8eæ\93¾\82·\82é.\r
31                  *      @param x x\95û\8cü\82Ì\88Ê\92u.\r
32                  *      @param y y\95û\8cü\82Ì\88Ê\92u.\r
33                  *      @return \89æ\91f\97ñ\r
34                  *      @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
35                  */\r
36                 inline ArgbArray getArray( int x, int y ) const\r
37                 {\r
38                         return ArgbArray( &bits[(x + y * width) * 4] );\r
39                 }\r
40         };\r
41 \r
42 }\r