OSDN Git Service

1b4423c95da5bd5bf016cc1a4e431e82e53fefdc
[nyartoolkit-and/nyartoolkit-and.git] / src / jp / nyatla / nyartoolkit / core / rasterreader / INyARBufferReader.java
1 /* \r
2  * PROJECT: NyARToolkit\r
3  * --------------------------------------------------------------------------------\r
4  * This work is based on the original ARToolKit developed by\r
5  *   Hirokazu Kato\r
6  *   Mark Billinghurst\r
7  *   HITLab, University of Washington, Seattle\r
8  * http://www.hitl.washington.edu/artoolkit/\r
9  *\r
10  * The NyARToolkit is Java version ARToolkit class library.\r
11  * Copyright (C)2008 R.Iizuka\r
12  *\r
13  * This program is free software; you can redistribute it and/or\r
14  * modify it under the terms of the GNU General Public License\r
15  * as published by the Free Software Foundation; either version 2\r
16  * of the License, or (at your option) any later version.\r
17  * \r
18  * This program is distributed in the hope that it will be useful,\r
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
21  * GNU General Public License for more details.\r
22  * \r
23  * You should have received a copy of the GNU General Public License\r
24  * along with this framework; if not, write to the Free Software\r
25  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
26  * \r
27  * For further information please contact.\r
28  *      http://nyatla.jp/nyatoolkit/\r
29  *      <airmail(at)ebony.plala.or.jp>\r
30  * \r
31  */\r
32 package jp.nyatla.nyartoolkit.core.rasterreader;\r
33 \r
34 public interface INyARBufferReader\r
35 {\r
36     //  ID規約\r
37         //  00-07(8)型番号\r
38         //  08-15(8)ビットフォーマットID\r
39         //      00:24bit/01:32bit/02:16bit\r
40         //  16-27(8)型ID\r
41         //      00:無効/01:byte[]/02:int[][]/03:short[]\r
42         //  24-31(8)予約\r
43         //\r
44         \r
45         /**\r
46          * RGB24フォーマットで、全ての画素が0\r
47          */\r
48         public static final int BUFFERFORMAT_NULL_ALLZERO = 0x00000001;\r
49 \r
50         /**\r
51          * byte[]で、R8G8B8の24ビットで画素が格納されている。\r
52          */\r
53         public static final int BUFFERFORMAT_BYTE1D_R8G8B8_24 = 0x00010001;\r
54 \r
55         /**\r
56          * byte[]で、B8G8R8の24ビットで画素が格納されている。\r
57          */\r
58         public static final int BUFFERFORMAT_BYTE1D_B8G8R8_24 = 0x00010002;\r
59 \r
60         /**\r
61          * byte[]で、R8G8B8X8の32ビットで画素が格納されている。\r
62          */\r
63         public static final int BUFFERFORMAT_BYTE1D_B8G8R8X8_32 = 0x00010101;\r
64 \r
65         /**\r
66          * byte[]で、RGB565の16ビット(little/big endian)で画素が格納されている。\r
67          */\r
68         public static final int BUFFERFORMAT_BYTE1D_R5G6B5_16LE = 0x00010201;\r
69     public static final int BUFFERFORMAT_BYTE1D_R5G6B5_16BE = 0x00010202;\r
70         /**\r
71          * short[]で、RGB565の16ビット(little/big endian)で画素が格納されている。\r
72          */     \r
73     public static final int BUFFERFORMAT_WORD1D_R5G6B5_16LE = 0x00030201;\r
74     public static final int BUFFERFORMAT_WORD1D_R5G6B5_16BE = 0x00030202;\r
75 \r
76         \r
77         /**\r
78          * int[][]で特に値範囲を定めない\r
79          */\r
80         public static final int BUFFERFORMAT_INT2D = 0x00020000;\r
81 \r
82         /**\r
83          * int[][]で0-255のグレイスケール画像\r
84          */\r
85         public static final int BUFFERFORMAT_INT2D_GLAY_8 = 0x00020001;\r
86 \r
87         /**\r
88          * int[][]で0/1の2値画像\r
89          */\r
90         public static final int BUFFERFORMAT_INT2D_BIN_8 = 0x00020002;\r
91 \r
92         public Object getBuffer();\r
93         public int getBufferType();\r
94         public boolean isEqualBufferType(int i_type_value);\r
95 }\r