コード例 #1
0
ファイル: ProxyView.cpp プロジェクト: iMax-pp/Haiku-Browser
void
ProxyView::DrawSadTab(const char *error)
{
	BBitmap *sadTab = RetrieveBitmap(kSadTabBitmap, BRect(0, 0, 255, 255));

	if (Window()->Lock()) {
		MovePenTo(Bounds().Width() / 2 - 127, Bounds().Height() / 2 - 177);
		DrawBitmap(sadTab);

		MovePenTo(Bounds().Width() / 2 - 45, Bounds().Height() / 2 + 55);
		BFont font;
		GetFont(&font);
		font.SetSize(18.0);
		font.SetFace(B_BOLD_FACE);
		SetFont(&font, B_FONT_SIZE | B_FONT_FACE);
		SetLowColor(0, 0, 0);
		SetHighColor(255, 255, 255);
		DrawString("Aw, Snap!");

		MovePenTo(Bounds().Width() / 2 - 90, Bounds().Height() / 2 + 70);
		font.SetSize(12.0);
		font.SetFace(B_REGULAR_FACE);
		SetFont(&font, B_FONT_SIZE | B_FONT_FACE);
		DrawString(error);

		Window()->Unlock();
	}
}
コード例 #2
0
ファイル: ToolBarButton.cpp プロジェクト: hkaiser/TRiAS
STDMETHODIMP CToolBarButton::AttachImage (VARIANT vPicture, VARIANT vIndex, VARIANT vSizeX)
{
HRESULT hr = RetrieveBitmap (vPicture);

	if (FAILED(hr)) return hr;

// Argumente konvertieren
CComVariant vArg;
long lIndex = -1;
long lSizeX = 0;

	hr = vArg.ChangeType (VT_I4, &vIndex);
	if (SUCCEEDED(hr)) lIndex = V_I4(&vArg);

	hr = vArg.ChangeType (VT_I4, &vSizeX);
	if (SUCCEEDED(hr)) lSizeX = V_I4(&vArg);

	if (lIndex >= 0 && 0 == lSizeX)
		return E_INVALIDARG;	// Größe muß gegeben sein

// wenn kein Index gegeben ist, dann die Bitmap direkt verwenden
	if (lIndex < 0) return S_OK;

// ansonsten generieren des gewünschten Ausschnittes
// ...
	m_PictDisp.Assign(NULL);		// wieder freigeben
	return E_NOTIMPL;
}