|
|
nono 0.1.6
//
// nono
// Copyright (C) 2021 nono project
// Licensed under nono-license.txt
//
#include "wxbmp.h"
// コンストラクタ
WXBitmap::WXBitmap()
{
}
// デストラクタ
WXBitmap::~WXBitmap()
{
bitmap.reset();
image.reset();
buf.reset();
}
// ビットマップ作成
void
WXBitmap::Create(int width, int height)
{
// ビットマップがすでにあってサイズが同じなら何もしない
if ((bool)bitmap && (*bitmap).GetSize() == wxSize(width, height)) {
// XXX 塗り直しくらいはしてもいいかもしれんけど
return;
}
// 持っていればまず逆順に解放
bitmap.reset();
image.reset();
// 正しく描かれなかった時に分かりやすいよう初期値は濃いグレーにしておく
int buflen = width * height * 3;
buf.reset(new uint8 [buflen]);
memset(&buf[0], 0x70, buflen);
image.reset(new wxImage(width, height, buf.get(), true));
bitmap.reset(new wxBitmap(*image));
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.