// // cmdlink.c // VOID CmlActivate(LPCML lpcml); LPCML CmlClone(LPCML lpcml); LPCML CmlCreateWorker(LPSTR lpstrCmd, BOOL fCmdIsLink, BOOL fFilename); #define CmlCreate(lpstrCmd, fCmdIsLink) \ CmlCreateWorker(lpstrCmd, fCmdIsLink, FALSE) #define CmlCreateFromFilename(lpstrCmd, fCmdIsLink) \ CmlCreateWorker(lpstrCmd, fCmdIsLink, TRUE) VOID CmlDelete(LPCML lpcml); VOID CmlDraw(LPCML lpcml, HDC hdc, LPRECT lprc, INT xHSB, BOOL fFocus); VOID CmlFixBounds(LPCML lpcml); LPCML CmlReadFromNative(LPSTR *lplpstr); DWORD CmlWriteToNative(LPCML lpcml, LPSTR *lplpstr); // // dlgprocs.c // INT_PTR MyDialogBox(UINT idd, HWND hwndParent, DLGPROC lpfnDlgProc); BOOL IconDialog(LPIC lpic); BOOL ChangeCmdLine(LPCML lpcml); VOID ChangeLabel(LPIC lpic); INT_PTR CALLBACK fnChangeCmdText(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK fnProperties(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK fnChangeText(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK fnInvalidLink(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); // // embed.c // BOOL EmbActivate(LPEMBED lpembed, UINT wVerb); LPEMBED EmbCreate(LPSTR lpstrFile); VOID EmbDelete(LPEMBED lpembed); VOID EmbDraw(LPEMBED lpembed, HDC hdc, LPRECT lprc, BOOL fFocus); LPEMBED EmbReadFromNative(LPSTR *lplpstr); DWORD EmbWriteToNative(LPEMBED lpembed, LPSTR *lplpstr); VOID EmbWriteToFile(LPEMBED lpembed, INT fh); VOID EmbRead(LPEMBED lpembed); BOOL EmbDoVerb(LPEMBED lpembed, UINT wVerb); BOOL EmbActivateThroughOle(LPEMBED lpembed, LPSTR lpdocname, UINT wVerb); INT CALLBACK EmbCallBack(LPOLECLIENT lpclient, OLE_NOTIFICATION flags, LPOLEOBJECT lpObject); VOID EmbDeleteLinkObject(LPEMBED lpembed); // // filedlgs.c // VOID OfnInit(VOID); BOOL OfnGetName(HWND hwnd, UINT msg); HANDLE OfnGetNewLinkName(HWND hwnd, HANDLE hData); VOID Normalize(LPSTR lpstrFile); // // icon.c // LPIC IconClone(LPIC lpic); LPIC IconCreateFromFile(LPSTR lpstrFile); LPIC IconCreateFromObject(LPOLEOBJECT lpObject); VOID IconDelete(LPIC lpic); VOID IconDraw(LPIC lpic, HDC hdc, LPRECT lprc, BOOL fFocus, INT cxImage, INT cyImage); LPIC IconReadFromNative(LPSTR *lplpstr); DWORD IconWriteToNative(LPIC lpic, LPSTR *lplpstr); VOID GetCurrentIcon(LPIC lpic); // // packager.c // LRESULT CALLBACK FrameWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); VOID SetTitle(BOOL fRegistering); VOID InitFile(VOID); VOID ErrorMessage(UINT id); BOOL ProcessMessage(VOID); LPSTR Contains(LPSTR lpString, LPSTR lpPattern); VOID Dirty(VOID); VOID DeregisterDoc(VOID); VOID Raise(INT iPane); INT_PTR MessageBoxAfterBlock(HWND hwndParent, LPSTR lpText, LPSTR lpCaption, UINT fuStyle); INT_PTR DialogBoxAfterBlock(LPCSTR lpTemplate, HWND hwndParent, DLGPROC lpDialogFunc); // // pane.c // BOOL InitPaneClasses(VOID); BOOL InitPanes(VOID); VOID EndPanes(VOID); LRESULT CALLBACK SubtitleWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK PaneWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK SplitterFrame(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); VOID DeletePane(INT iPane, BOOL fDeleteUndo); VOID DeletePaneObject(LPVOID lpobj, INT objType); // // picture.c // BOOL InitClient(VOID); VOID EndClient(VOID); LPPICT PicCreate(LPOLEOBJECT lpObject, LPRECT lprcObject); VOID PicDelete(LPPICT lppict); BOOL PicDraw(LPPICT lppict, HDC hDC, LPRECT lprc, INT xHSB, INT yVSB, BOOL fPicture, BOOL fFocus); LPPICT PicPaste(BOOL fPaste, LPSTR lpstrName); BOOL Error(OLESTATUS olestat); INT CALLBACK CallBack(LPOLECLIENT lpclient, OLE_NOTIFICATION flags, LPOLEOBJECT lpObject); VOID WaitForObject(LPOLEOBJECT lpObject); BOOL PicSetUpdateOptions(LPPICT lppict, UINT idCmd); LPPICT PicReadFromNative(LPSTR *lplpstr, LPSTR lpstrName); DWORD PicWriteToNative(LPPICT lppict, LPOLEOBJECT lpObject, LPSTR *lplpstr); VOID Hourglass(BOOL fOn); VOID PicActivate(LPPICT lppict, UINT idCmd); VOID PicUpdate(LPPICT lppict); VOID PicFreeze(LPPICT lppict); VOID PicChangeLink(LPPICT lppict); BOOL PicCopy(LPPICT lppict); VOID PicSaveUndo(LPPICT lppict); LPPICT PicFromFile(BOOL fEmbedded, LPSTR szFile); typedef int (__stdcall *PCALL_BACK)(LPOLECLIENT, OLE_NOTIFICATION, LPOLEOBJECT); LPOLECLIENT PicCreateClient(PCALL_BACK fnCallBack, LPOLECLIENTVTBL lpclivtbl); // // register.c // VOID RegInit(VOID); VOID RegGetClassId(LPSTR lpstrName, DWORD nameBufferSize, LPSTR lpstrClass); INT RegMakeFilterSpec(LPSTR lpstrClass, LPSTR lpstrExt, LPSTR lpstrFilterSpec); VOID RegGetExeName(LPSTR lpstrExe, LPSTR lpstrClass, DWORD dwBytes); // // server.c // BOOL InitServer(VOID); VOID DeleteServer(LPSAMPSRVR lpsrvr); VOID DestroyServer(VOID); LPSAMPDOC InitDoc(LPSAMPSRVR lpsrvr, LHSERVERDOC lhdoc, LPSTR lptitle); VOID ChangeDocName(LPSAMPDOC *lplpdoc, LPSTR lpname); BOOL SendDocChangeMsg(LPSAMPDOC lpdoc, UINT options); LPSAMPDOC CreateNewDoc(LPSAMPSRVR lpsrvr, LHSERVERDOC lhdoc, LPSTR lpstr); LPSAMPDOC CreateDocFromFile(LPSAMPSRVR lpsrvr, LHSERVERDOC lhdoc, LPSTR lpstr); BOOL CopyObjects(VOID); LPSAMPITEM CreateNewItem(LPSAMPDOC lpdoc); HANDLE GetNative(BOOL fClip); BOOL PutNative(HANDLE hdata); HANDLE GetLink(VOID); HANDLE GetMF(VOID); VOID InitEmbedded(BOOL fCreate); LPSAMPITEM AddItem(LPSAMPITEM lpitem); BOOL DeleteItem(LPSAMPITEM lpitem); VOID EndEmbedding(VOID); // // stream.c // VOID SetFile(STREAMOP sop, INT fh, LPSTR *lplpstr); DWORD ReadStream(LPAPPSTREAM lpStream, LPSTR lpstr, DWORD cb); DWORD PosStream(LPAPPSTREAM lpStream, LONG pos, INT iorigin); DWORD WriteStream(LPAPPSTREAM lpStream, LPSTR lpstr, DWORD cb); DWORD MemRead(LPSTR *lplpStream, LPSTR lpItem, DWORD dwSize); DWORD MemWrite(LPSTR *lplpStream, LPSTR lpItem, DWORD dwSize); // // virtable.c // OLESTATUS SrvrOpen(LPOLESERVER lpolesrvr, LHSERVERDOC lhdoc, LPSTR lpdocname, LPOLESERVERDOC *lplpoledoc); OLESTATUS SrvrCreate(LPOLESERVER lpolesrvr, LHSERVERDOC lhdoc, LPSTR lpclassname, LPSTR lpdocname, LPOLESERVERDOC *lplpoledoc); OLESTATUS SrvrCreateFromTemplate(LPOLESERVER lpolesrvr, LHSERVERDOC lhdoc, LPSTR lpclassname, LPSTR lpdocname, LPSTR lptemplatename, LPOLESERVERDOC *lplpoledoc); OLESTATUS SrvrEdit(LPOLESERVER lpolesrvr, LHSERVERDOC lhdoc, LPSTR lpclassname, LPSTR lpdocname, LPOLESERVERDOC *lplpoledoc); OLESTATUS SrvrExit(LPOLESERVER lpolesrvr); OLESTATUS SrvrRelease(LPOLESERVER lpolesrvr); OLESTATUS SrvrExecute(LPOLESERVER lpolesrvr, HANDLE hCmds); OLESTATUS DocSave(LPOLESERVERDOC lpoledoc); OLESTATUS DocClose(LPOLESERVERDOC lpoledoc); OLESTATUS DocRelease(LPOLESERVERDOC lpoledoc); OLESTATUS DocGetObject(LPOLESERVERDOC lpoledoc, LPSTR lpitemname, LPOLEOBJECT *lplpoleobject, LPOLECLIENT lpoleclient); OLESTATUS DocSetHostNames(LPOLESERVERDOC lpoledoc, LPSTR lpclientName, LPSTR lpdocName); OLESTATUS DocSetDocDimensions(LPOLESERVERDOC lpoledoc, LPRECT lprc); OLESTATUS DocSetColorScheme(LPOLESERVERDOC lpoledoc, LPLOGPALETTE lppal); OLESTATUS DocExecute(LPOLESERVERDOC lpoledoc, HANDLE hCmds); OLESTATUS ItemDelete(LPOLEOBJECT lpoleobject); OLESTATUS ItemGetData(LPOLEOBJECT lpoleobject, OLECLIPFORMAT cfFormat, LPHANDLE lphandle); OLESTATUS ItemSetData(LPOLEOBJECT lpoleobject, OLECLIPFORMAT cfFormat, HANDLE hdata); OLESTATUS ItemDoVerb(LPOLEOBJECT lpoleobject, UINT wVerb, BOOL fShow, BOOL fActivate); OLESTATUS ItemShow(LPOLEOBJECT lpoleobject, BOOL fActivate); OLESTATUS ItemSetBounds(LPOLEOBJECT lpoleobject, LPRECT lprc); OLESTATUS ItemSetTargetDevice(LPOLEOBJECT lpoleobject, HANDLE h); OLECLIPFORMAT ItemEnumFormats(LPOLEOBJECT lpobject, OLECLIPFORMAT cfFormat); LPVOID ItemQueryProtocol(LPOLEOBJECT lpoleobject, LPSTR lpprotocol); OLESTATUS ItemSetColorScheme(LPOLEOBJECT lpoleobject, LPLOGPALETTE lppal); BOOL IsOleServerDoc(LPSTR lpdocname);