Files
haiku-beta6/headers/private/shared/ColorPreview.h
T
John Scipione 622853ff8e Appearance and Terminal: Move ColorPreview to shared
Move ColorListView and ColorItem to shared in BPrivate namespace.

ColorItem typedef to BPrivate::BColorItem for apps that are already
using this class.

Gravity screensaver:
* ColorItem => BColorItem.
* Use make_color() to set colors.

Make color drop message name agnostic, check for B_RGB_COLOR_TYPE.
Add be:sender and source to drag message.

Add _SetTermColors() convenience method to set colors on all tabs.

Change-Id: I5a9f55d3ab423ccaa341997cf444603373024553
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8846
Reviewed-by: John Scipione <[email protected]>
2025-01-22 19:28:58 +00:00

48 lines
998 B
C++
Executable File

/*
* Copyright 2009-2024 Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _COLOR_PREVIEW_H
#define _COLOR_PREVIEW_H
#include <Control.h>
class BMessage;
class BMessageRunner;
namespace BPrivate {
class BColorPreview : public BControl {
public:
BColorPreview(const char* name, const char* label,
BMessage* message, uint32 flags = B_WILL_DRAW);
virtual ~BColorPreview();
virtual void Draw(BRect updateRect);
virtual status_t Invoke(BMessage* message = NULL);
virtual void MessageReceived(BMessage *message);
virtual void MouseDown(BPoint where);
virtual void MouseMoved(BPoint where, uint32 transit, const BMessage* message);
virtual void MouseUp(BPoint where);
rgb_color Color() const;
void SetColor(rgb_color color);
private:
void _DragColor(BPoint where);
rgb_color fColor;
BMessageRunner* fMessageRunner;
};
} // namespace BPrivate
#endif // _COLOR_PREVIEW_H