Leaked source code of windows server 2003
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.
 
 
 
 
 
 

197 lines
6.1 KiB

/***************************************************************************\
*
* 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
{
};