Example #1
0
void
TTracker::InstallTemporaryBackgroundImages()
{
	// make the large Haiku Logo the default background

	BPath path;
	status_t status = find_directory(B_SYSTEM_DATA_DIRECTORY, &path);
	if (status < B_OK) {
		// TODO: this error shouldn't be shown to the regular user
		BString errorMessage(B_TRANSLATE("At %func \nfind_directory() "
			"failed. \nReason: %error"));
		errorMessage.ReplaceFirst("%func", __PRETTY_FUNCTION__);
		errorMessage.ReplaceFirst("%error", strerror(status));
		BAlert* alert = new BAlert("AlertError", errorMessage.String(),
			B_TRANSLATE("OK"), NULL, NULL, B_WIDTH_AS_USUAL, B_STOP_ALERT);
		alert->SetFlags(alert->Flags() | B_CLOSE_ON_ESCAPE);
		alert->Go();
		return;
	}
	path.Append("artwork");

	BString defaultBackgroundImage("/HAIKU logo - white on blue - big.png");

	BDirectory dir;
	if (FSGetBootDeskDir(&dir) == B_OK) {
		// install a default background if there is no background defined yet
		attr_info info;
		if (dir.GetAttrInfo(kBackgroundImageInfo, &info) != B_OK) {
			BScreen screen(B_MAIN_SCREEN_ID);
			BPoint logoPos;
			logoPos.x
				= floorf((screen.Frame().Width() - 605) * (sqrtf(5) - 1) / 2);
			logoPos.y = floorf((screen.Frame().Height() - 190) * 0.9);
			BMessage message;
			AddTemporaryBackgroundImages(&message,
				(BString(path.Path()) << defaultBackgroundImage).String(),
				BackgroundImage::kAtOffset, logoPos, 0xffffffff, false);
			::InstallTemporaryBackgroundImages(&dir, &message);
		}
	}
}
Example #2
0
void
TTracker::InstallTemporaryBackgroundImages()
{
	// make the large Haiku Logo the default background

	BPath path;
	status_t status = find_directory(B_SYSTEM_DATA_DIRECTORY, &path);
	if (status < B_OK) {
		BString errorMessage;
		errorMessage << "At " << __PRETTY_FUNCTION__ << "\n";
		errorMessage << "find_directory() failed. \nReason: ";
		errorMessage << strerror(status);
		(new BAlert("AlertError", errorMessage.String(), "OK", NULL, NULL,
			B_WIDTH_AS_USUAL, B_STOP_ALERT))->Go();
		return;
	}
	path.Append("artwork");

	BString defaultBackgroundImage("/HAIKU logo - white on blue - big.png");

	BDirectory dir;
	if (FSGetBootDeskDir(&dir) == B_OK) {
		// install a default background if there is no background defined yet
		attr_info info;
		if (dir.GetAttrInfo(kBackgroundImageInfo, &info) != B_OK) {
			BScreen screen(B_MAIN_SCREEN_ID);
			BPoint logoPos;
			logoPos.x
				= floorf((screen.Frame().Width() - 605) * (sqrtf(5) - 1) / 2);
			logoPos.y = floorf((screen.Frame().Height() - 190) * 0.9);
			BMessage message;
			AddTemporaryBackgroundImages(&message,
				(BString(path.Path()) << defaultBackgroundImage).String(),
				BackgroundImage::kAtOffset, logoPos, 0xffffffff, false);
			::InstallTemporaryBackgroundImages(&dir, &message);
		}
	}
}
void 
TTracker::InstallTemporaryBackgroundImages()
{
	
	BPath path;
	FSFindTrackerSettingsDir(&path, false);
	BString defaultFolderPath(path.Path());
	defaultFolderPath << '/' << kDefaultFolderTemplate << '/';
	
	BNode node;
	if (BContainerWindow::DefaultStateSourceNode(kDefaultFolderTemplate, &node, true))
		InstallTemporaryBackgroundImagesIfNeeded(&node,
			(BString(defaultFolderPath) << "backgroundTexture.tga").String(),
			BackgroundImage::kTiled,
			BPoint(0, 0), 0xffffffff, false);

	BDirectory dir;
	if (FSGetBootDeskDir(&dir) == B_OK) {
		attr_info info;
		if (dir.GetAttrInfo(kBackgroundImageInfo, &info) != B_OK) {

			BMessage message;
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bgdefault.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0xffffffff, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg1.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00000001, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg2.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00000002, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg3.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00000004, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg4.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00000008, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg5.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00000010, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg6.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00000020, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg7.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00000040, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg8.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00000080, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg9.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00000100, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg10.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00000200, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg11.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00000400, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg12.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00000800, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg12.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00001000, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg13.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00002000, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg14.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00002000, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg15.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00004000, true);
			AddTemporaryBackgroundImages(&message,
				(BString(defaultFolderPath) << "bg16.tga").String(),
				BackgroundImage::kScaledToFit,
				BPoint(0, 0), 0x00008000, true);
			::InstallTemporaryBackgroundImages(&dir, &message);
		}
	}
}