/* * 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 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 , 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