52 lines
1.2 KiB
C
52 lines
1.2 KiB
C
/*
|
|
* Copyright 2005, Jérôme Duval. All rights reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*
|
|
* Inspired by SoundCapture from Be newsletter (Media Kit Basics: Consumers and Producers)
|
|
*/
|
|
|
|
#ifndef __DRAWING_TIBITS__
|
|
#define __DRAWING_TIBITS__
|
|
|
|
#include <GraphicsDefs.h>
|
|
|
|
rgb_color ShiftColor(rgb_color , float );
|
|
|
|
bool operator==(const rgb_color &, const rgb_color &);
|
|
bool operator!=(const rgb_color &, const rgb_color &);
|
|
|
|
inline uchar
|
|
ShiftComponent(uchar component, float percent)
|
|
{
|
|
// change the color by <percent>, make sure we aren't rounding
|
|
// off significant bits
|
|
if (percent >= 1)
|
|
return (uchar)(component * (2 - percent));
|
|
else
|
|
return (uchar)(255 - percent * (255 - component));
|
|
}
|
|
|
|
inline rgb_color
|
|
Color(int32 r, int32 g, int32 b, int32 alpha = 255)
|
|
{
|
|
rgb_color result;
|
|
result.red = r;
|
|
result.green = g;
|
|
result.blue = b;
|
|
result.alpha = alpha;
|
|
|
|
return result;
|
|
}
|
|
|
|
const rgb_color kWhite = { 255, 255, 255, 255};
|
|
const rgb_color kBlack = { 0, 0, 0, 255};
|
|
|
|
const float kDarkness = 1.06;
|
|
const float kDimLevel = 0.6;
|
|
|
|
void ReplaceColor(BBitmap *bitmap, rgb_color from, rgb_color to);
|
|
void ReplaceTransparentColor(BBitmap *bitmap, rgb_color with);
|
|
|
|
#endif
|
|
|