ext/rqr/qr_draw.h in z-rqr-0.2.3 vs ext/rqr/qr_draw.h in z-rqr-0.2.4
- old
+ new
@@ -1,34 +1,48 @@
#ifndef _QR_DRAW_
#define _QR_DRAW_
-#define MARGIN_SIZE 4 /* マージンサイズ */
-#define MAX_MODULESIZE 177 /* データバイト列の領域サイズ */
+#define MARGIN_SIZE 4 /* }[WTCY */
+#define MAX_MODULESIZE 177 /* f[^oCg̗̈TCY */
//=============================================================================
-// QRDraw クラス
+// QRDraw NX
//=============================================================================
class QRDraw
{
public:
- virtual ~QRDraw(){}
+ QRDraw(){
+ this->bit_image=NULL;
+ }
+ virtual ~QRDraw(){
+ this->close();
+ }
+
void setup(char *filename, int modulesize, int symbolsize){
this->msize = modulesize;
this->ssize = symbolsize;
this->rsize = (this->ssize + MARGIN_SIZE * 2) * this->msize;
this->filename = filename;
}
protected:
- unsigned char **bit_image; //ピクセルイメージを格納する
- int msize; // 1ドットを表現するピクセル数(=modulesize)
- int rsize; // マージンを含めた実際のイメージの一辺
- int ssize; // シンボルサイズ(マージンを含めない、ドットの個数)
- char *filename; // 保存するファイル名
+ unsigned char **bit_image; //sNZC[Wi[
+ int msize; // 1hbg\sNZ(=modulesize)
+ int rsize; // }[W܂߂ۂ̃C[Ẅ
+ int ssize; // V{TCY(}[W܂߂ȂAhbǧ)
+ char *filename; // ۑt@C
public:
virtual int draw(char *filename, int modulesize, int symbolsize,
unsigned char data[MAX_MODULESIZE][MAX_MODULESIZE], void *opt) = 0;
+ void close(){
+ int i;
+ if(this->bit_image){
+ for(i=0; i<this->rsize; i++) free(this->bit_image[i]);
+ free(this->bit_image);
+ }
+ this->bit_image=NULL;
+ }
};
#endif