File:  [Isaki's NoNo m68k/m88k emulator] / nono / wx / wxbmp.cpp
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Wed Apr 29 17:04:53 2026 UTC (2 months, 3 weeks ago) by root
Branches: MAIN, Isaki
CVS tags: v010, HEAD
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));
}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.