130 lines
4.5 KiB
C++
130 lines
4.5 KiB
C++
// CodeGear C++Builder
|
|
// Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc.
|
|
// All rights reserved
|
|
|
|
// (DO NOT EDIT: machine generated header) 'hsvbox.pas' rev: 37.00 (Windows)
|
|
|
|
#ifndef hsvboxHPP
|
|
#define hsvboxHPP
|
|
|
|
#pragma delphiheader begin
|
|
#pragma option push
|
|
#if defined(__BORLANDC__) && !defined(__clang__)
|
|
#pragma option -w- // All warnings off
|
|
#pragma option -Vx // Zero-length empty class member
|
|
#endif
|
|
#pragma pack(push,8)
|
|
#include <System.hpp>
|
|
#include <SysInit.hpp>
|
|
#include <Winapi.Windows.hpp>
|
|
#include <Winapi.Messages.hpp>
|
|
#include <System.SysUtils.hpp>
|
|
#include <System.Classes.hpp>
|
|
#include <Vcl.Graphics.hpp>
|
|
#include <Vcl.Controls.hpp>
|
|
#include <Vcl.Forms.hpp>
|
|
#include <imageenproc.hpp>
|
|
#include <hyiedefs.hpp>
|
|
#include <System.UITypes.hpp>
|
|
#include <Vcl.Menus.hpp>
|
|
|
|
//-- user supplied -----------------------------------------------------------
|
|
|
|
namespace Hsvbox
|
|
{
|
|
//-- forward type declarations -----------------------------------------------
|
|
class DELPHICLASS THSVBox;
|
|
//-- type declarations -------------------------------------------------------
|
|
class PASCALIMPLEMENTATION THSVBox : public Vcl::Controls::TCustomControl
|
|
{
|
|
typedef Vcl::Controls::TCustomControl inherited;
|
|
|
|
private:
|
|
int fHue;
|
|
int fSat;
|
|
int fVal;
|
|
System::Byte fRed;
|
|
System::Byte fGreen;
|
|
System::Byte fBlue;
|
|
Vcl::Graphics::TBitmap* bitmap;
|
|
System::Uitypes::TColor fBackground;
|
|
System::Classes::TNotifyEvent fOnChange;
|
|
int fMouseSel;
|
|
System::Uitypes::TColor fColor;
|
|
int fHueBarWidth;
|
|
int fBarsDistance;
|
|
|
|
protected:
|
|
void __fastcall SetHue(int h);
|
|
void __fastcall SetSat(int s);
|
|
void __fastcall SetVal(int v);
|
|
HIDESBASE MESSAGE void __fastcall WMSize(Winapi::Messages::TWMSize &Message);
|
|
HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Winapi::Messages::TMessage &Message);
|
|
void __fastcall SetBackground(System::Uitypes::TColor bk);
|
|
void __fastcall DrawValSat();
|
|
void __fastcall DrawHue();
|
|
void __fastcall DrawGrips();
|
|
DYNAMIC void __fastcall MouseMove(System::Classes::TShiftState Shift, int X, int Y);
|
|
DYNAMIC void __fastcall MouseDown(System::Uitypes::TMouseButton Button, System::Classes::TShiftState Shift, int X, int Y);
|
|
DYNAMIC void __fastcall MouseUp(System::Uitypes::TMouseButton Button, System::Classes::TShiftState Shift, int X, int Y);
|
|
void __fastcall XMouseMove(int X, int Y);
|
|
void __fastcall SetHueBarWidth(int v);
|
|
void __fastcall SetBarsDistance(int v);
|
|
|
|
public:
|
|
virtual void __fastcall Paint();
|
|
__fastcall virtual THSVBox(System::Classes::TComponent* Owner);
|
|
__fastcall virtual ~THSVBox();
|
|
void __fastcall SetRGB(System::Byte r, System::Byte g, System::Byte b);
|
|
HIDESBASE void __fastcall SetColor(System::Uitypes::TColor cl);
|
|
System::Uitypes::TColor __fastcall GetColorAt(int x, int y);
|
|
|
|
__published:
|
|
__property int Hue = {read=fHue, write=SetHue, default=0};
|
|
__property int Sat = {read=fSat, write=SetSat, default=0};
|
|
__property int Val = {read=fVal, write=SetVal, default=0};
|
|
__property System::Byte Red = {read=fRed, nodefault};
|
|
__property System::Byte Green = {read=fGreen, nodefault};
|
|
__property System::Byte Blue = {read=fBlue, nodefault};
|
|
__property System::Uitypes::TColor Color = {read=fColor, nodefault};
|
|
__property System::Uitypes::TColor Background = {read=fBackground, write=SetBackground, default=-16777201};
|
|
__property System::Classes::TNotifyEvent OnChange = {read=fOnChange, write=fOnChange};
|
|
__property int HueBarWidth = {read=fHueBarWidth, write=SetHueBarWidth, default=20};
|
|
__property int BarsDistance = {read=fBarsDistance, write=SetBarsDistance, default=5};
|
|
__property Align = {default=0};
|
|
__property Anchors = {default=3};
|
|
__property DragCursor = {default=-12};
|
|
__property DragMode = {default=0};
|
|
__property Enabled = {default=1};
|
|
__property ParentShowHint = {default=1};
|
|
__property PopupMenu;
|
|
__property ShowHint;
|
|
__property Visible = {default=1};
|
|
__property OnClick;
|
|
__property OnDblClick;
|
|
__property OnDragDrop;
|
|
__property OnDragOver;
|
|
__property OnEndDrag;
|
|
__property OnMouseDown;
|
|
__property OnMouseMove;
|
|
__property OnMouseUp;
|
|
__property OnStartDrag;
|
|
__property OnContextPopup;
|
|
public:
|
|
/* TWinControl.CreateParented */ inline __fastcall THSVBox(HWND ParentWindow) : Vcl::Controls::TCustomControl(ParentWindow) { }
|
|
|
|
};
|
|
|
|
|
|
//-- var, const, procedure ---------------------------------------------------
|
|
} /* namespace Hsvbox */
|
|
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_HSVBOX)
|
|
using namespace Hsvbox;
|
|
#endif
|
|
#pragma pack(pop)
|
|
#pragma option pop
|
|
|
|
#pragma delphiheader end.
|
|
//-- end unit ----------------------------------------------------------------
|
|
#endif // hsvboxHPP
|