From fdee402d252c94ca0ec352817c62df6508feb4df Mon Sep 17 00:00:00 2001 From: Michael Pfeiffer Date: Fri, 13 Feb 2004 23:44:50 +0000 Subject: [PATCH] Moved functions from BeUtils.cpp that require libtranslation.so into a separate source file, so that an application that uses function from BeUtils.cpp only has not to link to libtranslation.so. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6575 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/print/shared/BeUtils.cpp | 39 --------- .../print/shared/BeUtilsTranslation.cpp | 86 +++++++++++++++++++ src/servers/print/shared/Jamfile | 1 + 3 files changed, 87 insertions(+), 39 deletions(-) create mode 100644 src/servers/print/shared/BeUtilsTranslation.cpp diff --git a/src/servers/print/shared/BeUtils.cpp b/src/servers/print/shared/BeUtils.cpp index 95a8660d2b..a34b3ec5e0 100644 --- a/src/servers/print/shared/BeUtils.cpp +++ b/src/servers/print/shared/BeUtils.cpp @@ -126,42 +126,3 @@ void AddFields(BMessage* to, const BMessage* from, const char* excludeList[], co } } } - -BBitmap* LoadBitmap(const char* name, uint32 type_code = B_TRANSLATOR_BITMAP) { - if (type_code == B_TRANSLATOR_BITMAP) { - return BTranslationUtils::GetBitmap(type_code, name); - } else { - BResources *res = BApplication::AppResources(); - if (res != NULL) { - BMessage m; - size_t length; - const void *bits = res->LoadResource(type_code, name, &length); - if (bits && m.Unflatten((char*)bits) == B_OK) { - return (BBitmap*)BBitmap::Instantiate(&m); - } - } - return NULL; - } -} - -BPicture *BitmapToPicture(BView* view, BBitmap *bitmap) { - if (bitmap) { - view->BeginPicture(new BPicture()); - view->DrawBitmap(bitmap); - return view->EndPicture(); - } - return NULL; -} - -BPicture *BitmapToGrayedPicture(BView* view, BBitmap *bitmap) { - if (bitmap) { - BRect rect(bitmap->Bounds()); - view->BeginPicture(new BPicture()); - view->DrawBitmap(bitmap); - view->SetHighColor(255, 255, 255, 128); - view->SetDrawingMode(B_OP_ALPHA); - view->FillRect(rect); - return view->EndPicture(); - } - return NULL; -} diff --git a/src/servers/print/shared/BeUtilsTranslation.cpp b/src/servers/print/shared/BeUtilsTranslation.cpp new file mode 100644 index 0000000000..d3eab2380d --- /dev/null +++ b/src/servers/print/shared/BeUtilsTranslation.cpp @@ -0,0 +1,86 @@ +/*****************************************************************************/ +// BeUtilsTranslation.cpp +// +// Version: 1.0.0d1 +// +// Several utilities for writing applications for the BeOS. It are small +// very specific functions, but generally useful (could be here because of a +// lack in the APIs, or just sheer lazyness :)) +// +// +// Author +// Ithamar R. Adema +// Michael Pfeiffer +// +// This application and all source files used in its construction, except +// where noted, are licensed under the MIT License, and have been written +// and are: +// +// Copyright (c) 2001, 2002 OpenBeOS Project +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +/*****************************************************************************/ + +#include +#include +#include +#include +#include +#include + +#include "BeUtils.h" + +BBitmap* LoadBitmap(const char* name, uint32 type_code = B_TRANSLATOR_BITMAP) { + if (type_code == B_TRANSLATOR_BITMAP) { + return BTranslationUtils::GetBitmap(type_code, name); + } else { + BResources *res = BApplication::AppResources(); + if (res != NULL) { + BMessage m; + size_t length; + const void *bits = res->LoadResource(type_code, name, &length); + if (bits && m.Unflatten((char*)bits) == B_OK) { + return (BBitmap*)BBitmap::Instantiate(&m); + } + } + return NULL; + } +} + +BPicture *BitmapToPicture(BView* view, BBitmap *bitmap) { + if (bitmap) { + view->BeginPicture(new BPicture()); + view->DrawBitmap(bitmap); + return view->EndPicture(); + } + return NULL; +} + +BPicture *BitmapToGrayedPicture(BView* view, BBitmap *bitmap) { + if (bitmap) { + BRect rect(bitmap->Bounds()); + view->BeginPicture(new BPicture()); + view->DrawBitmap(bitmap); + view->SetHighColor(255, 255, 255, 128); + view->SetDrawingMode(B_OP_ALPHA); + view->FillRect(rect); + return view->EndPicture(); + } + return NULL; +} diff --git a/src/servers/print/shared/Jamfile b/src/servers/print/shared/Jamfile index 029566e73f..8269ddc0eb 100644 --- a/src/servers/print/shared/Jamfile +++ b/src/servers/print/shared/Jamfile @@ -6,6 +6,7 @@ StaticLibrary print : BeUtils.cpp + BeUtilsTranslation.cpp FolderWatcher.cpp Jobs.cpp ;