|
|
/***************************************************************************\ * * DirectUser-Display * \***************************************************************************/
class EventGadget { event HRESULT OnEvent(in EventMsg * pmsg);
dapi HRESULT GetFilter(out UINT nFilter); dapi HRESULT SetFilter(in UINT nNewFilter, in UINT nMask); dapi HRESULT AddHandlerG(in MSGID nEventMsg, in EventGadget * pgbHandler); dapi HRESULT AddHandlerD(in MSGID nEventMsg, in DUser::EventDelegate ed); dapi HRESULT RemoveHandlerG(in MSGID nEventMsg, in EventGadget * pgbHandler); dapi HRESULT RemoveHandlerD(in MSGID nEventMsg, in DUser::EventDelegate ed); };
class Listener : public EventGadget { };
class Visual : public EventGadget { dapi HRESULT SetOrder(in Visual * pgvOther, in UINT nCmd); dapi HRESULT SetParent(in Visual * pgvParent, in Visual * pgvOther, in UINT nCmd);
dapi HRESULT GetGadget(in UINT nCmd, out Visual * pgv); dapi HRESULT GetStyle(out UINT nStyle); dapi HRESULT SetStyle(in UINT nNewStyle, in UINT nMask); dapi HRESULT SetKeyboardFocus(); dapi HRESULT IsParentChainStyle(in UINT nStyle, out BOOL fResult, in UINT nFlags);
dapi HRESULT GetProperty(in PRID id, out void * pvValue); dapi HRESULT SetProperty(in PRID id, in void * pvValue); dapi HRESULT RemoveProperty(in PRID id);
dapi HRESULT Invalidate(); dapi HRESULT InvalidateRects(const RECT * rgrcClientPxl, int cRects); dapi HRESULT SetFillF(in Gdiplus::Brush * pgpgrFill); dapi HRESULT SetFillI(in HBRUSH hbrFill, in BYTE bAlpha, in int w, in int h); dapi HRESULT GetScale(out float flX, out float flY); dapi HRESULT SetScale(in float flX, in float flY); dapi HRESULT GetRotation(out float flRotationRad); dapi HRESULT SetRotation(in float flRotationRad); dapi HRESULT GetCenterPoint(out float flX, out float flY); dapi HRESULT SetCenterPoint(in float flX, in float flY);
dapi HRESULT GetBufferInfo(in BUFFER_INFO * pbi); dapi HRESULT SetBufferInfo(in const BUFFER_INFO * pbi);
dapi HRESULT GetSize(out SIZE sizeLogicalPxl); dapi HRESULT GetRect(in UINT nFlags, out RECT rcPxl); dapi HRESULT SetRect(in UINT nFlags, in const RECT * prcPxl);
dapi HRESULT MapPoints(in Visual * pgvTo, in /* out */ POINT * rgptClientPxl, in int cPts); dapi HRESULT FindFromPoint(in POINT ptThisClientPxl, in UINT nStyle, out POINT ptFoundClientPxl, out Visual * pgvFound); };
class Root : public Visual { dapi HRESULT GetFocus(out Visual * pgvFocus);
dapi HRESULT GetRootInfo(out ROOT_INFO * pri); dapi HRESULT SetRootInfo(in const ROOT_INFO * pri); };
// // DirectUser-Animations //
class Extension : public Listener { dapi HRESULT OnRemoveExisting(); dapi HRESULT OnDestroySubject(); dapi HRESULT OnAsyncDestroy(); };
class Interpolation { dapi HRESULT AddRef(); dapi HRESULT Release(); dapi HRESULT Compute(in float flProgress, in float flStart, in float flEnd, out float flResult); };
class LinearInterpolation : public Interpolation { };
class LogInterpolation : public Interpolation { dapi HRESULT SetScale(in float flScale); };
class ExpInterpolation : public Interpolation { dapi HRESULT SetScale(in float flScale); };
class SCurveInterpolation : public Interpolation { dapi HRESULT SetScale(in float flScale); };
class Animation : public Extension { dapi HRESULT AddRef(); dapi HRESULT Release();
dapi HRESULT SetTime(in UINT time); };
class Flow { dapi HRESULT AddRef(); dapi HRESULT Release();
dapi HRESULT GetPRID(out PRID prid); dapi HRESULT GetKeyFrame(in Flow::ETime time, out DUser::KeyFrame * pkf); dapi HRESULT SetKeyFrame(in Flow::ETime time, in const DUser::KeyFrame * pkf);
dapi HRESULT OnReset(in Visual * pgvSubject); dapi HRESULT OnAction(in Visual * pgvSubject, in Interpolation * pipol, in float flProgress); };
class AlphaFlow : public Flow {
};
class RectFlow : public Flow {
};
class RotateFlow : public Flow {
};
class ScaleFlow : public Flow {
};
class Sequence : public Listener { dapi HRESULT AddRef(); dapi HRESULT Release();
dapi HRESULT GetLength(out float flLength); dapi HRESULT GetDelay(out float flDelay); dapi HRESULT SetDelay(in float flDelay); dapi HRESULT GetFlow(out Flow * pflow); dapi HRESULT SetFlow(in Flow * pflow); dapi HRESULT GetFramePause(out DWORD dwPause); dapi HRESULT SetFramePause(in DWORD dwPause);
dapi HRESULT GetKeyFrameCount(out int cFrames); dapi HRESULT AddKeyFrame(in float flTime, out int idxKeyFrame); dapi HRESULT RemoveKeyFrame(in int idxKeyFrame); dapi HRESULT RemoveAllKeyFrames(); dapi HRESULT FindKeyFrame(in float flTime, out int idxKeyFrame);
dapi HRESULT GetTime(in int idxKeyFrame, out float flTime); dapi HRESULT SetTime(in int idxKeyFrame, in float flTime); dapi HRESULT GetKeyFrame(in int idxKeyFrame, out DUser::KeyFrame * pkf); dapi HRESULT SetKeyFrame(in int idxKeyFrame, in const DUser::KeyFrame * pkfSrc); dapi HRESULT GetInterpolation(in int idxKeyFrame, out Interpolation * pipol); dapi HRESULT SetInterpolation(in int idxKeyFrame, in Interpolation * pipol);
dapi HRESULT Play(in Visual * pgvSubject, in Sequence::AnimationInfo * pai); dapi HRESULT Stop(); dapi HRESULT Reset(in Visual * pgvSubject); dapi HRESULT GotoTime(in Visual * pgvSubject, in float flTime); };
class DropTarget : public Extension { };
|