You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.7 KiB
53 lines
1.7 KiB
/*
|
|
* RefPointElement
|
|
*/
|
|
|
|
#ifndef DUI_CONTROL_REFPOINTELEMENT_H_INCLUDED
|
|
#define DUI_CONTROL_REFPOINTELEMENT_H_INCLUDED
|
|
|
|
#pragma once
|
|
|
|
namespace DirectUI
|
|
{
|
|
|
|
////////////////////////////////////////////////////////
|
|
// RefPointElement
|
|
|
|
// Class definition
|
|
class RefPointElement : public Element
|
|
{
|
|
public:
|
|
static HRESULT Create(OUT Element** ppElement) { return Create(AE_Inactive, ppElement); }
|
|
static HRESULT Create(UINT nActive, OUT Element** ppElement);
|
|
|
|
// System Events
|
|
//virtual void OnGroupChanged(int fGroups, bool bLowPri);
|
|
virtual void OnPropertyChanged(PropertyInfo* ppi, int iIndex, Value* pvOld, Value* pvNew);
|
|
|
|
// Global helpers
|
|
static Element* FindRefPoint(Element* pe, POINT* ppt);
|
|
static RefPointElement* Locate(Element* pe);
|
|
|
|
// Property definitions
|
|
static PropertyInfo* ReferencePointProp;
|
|
static PropertyInfo* ActualReferencePointProp;
|
|
|
|
// Quick property accessors
|
|
const POINT* GetReferencePoint(Value** ppv) { *ppv = GetValue(ReferencePointProp, PI_Local); return (*ppv != Value::pvUnset) ? (*ppv)->GetPoint() : NULL; }
|
|
const POINT* GetActualReferencePoint(Value** ppv) DUIQuickGetterInd(GetPoint(), ActualReferencePoint, Specified)
|
|
|
|
HRESULT SetReferencePoint(int x, int y) DUIQuickSetter(CreatePoint(x, y), ReferencePoint)
|
|
|
|
// ClassInfo accessors (static and virtual instance-based)
|
|
static IClassInfo* Class;
|
|
virtual IClassInfo* GetClassInfo() { return Class; }
|
|
static HRESULT Register();
|
|
|
|
RefPointElement() { }
|
|
HRESULT Initialize(UINT nActive);
|
|
virtual ~RefPointElement() { }
|
|
};
|
|
|
|
} // namespace DirectUI
|
|
|
|
#endif // DUI_CONTROL_REFPOINTELEMENT_H_INCLUDED
|