From 48540940b6c28bb4378abfeb500ec45a625b37b6 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Tue, 15 May 2012 10:38:20 +0000 Subject: initial commit git-svn-id: http://svn.miranda-ng.org/main/trunk@2 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/tabsrmm/API/m_mathmodule.h | 200 +++++++++++++++++++++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 plugins/tabsrmm/API/m_mathmodule.h (limited to 'plugins/tabsrmm/API/m_mathmodule.h') diff --git a/plugins/tabsrmm/API/m_mathmodule.h b/plugins/tabsrmm/API/m_mathmodule.h new file mode 100644 index 0000000000..6328406bc3 --- /dev/null +++ b/plugins/tabsrmm/API/m_mathmodule.h @@ -0,0 +1,200 @@ +#ifndef M_MATHMODULE_H_ +#define M_MATHMODULE_H_ +//--------------------------------------------------- + + +/* + ************************** + * 2 * + ** * x + 2 Pi + ** ************* + R + * Sin(wt) + * + + Math-Module + ************** + + Miranda Plugin by Stephan Kassemeyer + + + MathModule API - (c) Stephan Kassemeyer + 8 May, 2004 + +*/ + + +// --------- + +/* + Miranda Service-functions defined by MathModule + call with the + int (*CallService)(const char * servicename,WPARAM,LPARAM) + that you get from miranda when Miranda calls the + Load(PLUGINLINK * link) + of your PlugIn-dll + the CallService function then is: + link->CallServiceSync(Servicename,wparam,lparam) +*/ + +// --------- + +#define MATH_RTF_REPLACE_FORMULAE "Math/RtfReplaceFormulae" +// replace all formulas in a RichEdit with bitmaps. +// wParam = 0 +// lParam = *TMathRichedit Info +// return: TRUE if replacement succeeded, FALSE if not (disable by user?). +typedef struct +{ + HWND hwndRichEditControl; // handle of richedit. + CHARRANGE* sel; // NULL: replace all. + int disableredraw; +}TMathRicheditInfo; +// WARNING: !!! +// Strange things happen if you use this function twice on the same CHARRANGE: +// if Math-startDelimiter == Math-endDelimiter, there is the following problem: +// it might be that someone forgot an endDelimiter, this results in a lonesome startdelimiter. +// if you try to MATH_REPLACE_FORMULAE the second time, startDelimiters and endDelimiters are mixed up. +// The same problem occours if we have empty formulae, because two succeding delimiters are +// replaced with a single delimiter. + + +#define MATH_GET_STARTDELIMITER "Math/GetStartDelimiter" +// returns the delimiter that marks the beginning of a formula +// wparam=0 +// lparam=0 +// result=*char Delimiter +// !!! the result-buffer must be deleted with MTH_FREE_MATH_BUFFER + +#define MATH_GETENDDELIMITER "Math/GetEndDelimiter" +// returns the delimiter that marks the end of a formula +// wparam=0 +// lparam=0 +// result=*char Delimiter +// !!! the result-buffer must be deleted with MTH_FREE_MATH_BUFFER + +#define MTH_FREE_MATH_BUFFER "Math/FreeRTFBitmapText" +// deletes any buffer that MathModule has created. +// wparam=0 +// lparam=(*char) buffer +// result=0 + +#define MATH_SETBKGCOLOR "Math/SetBackGroundColor" +// changes the background color of the next formula to be rendered. +// wparam=0 +// lparam=(COLORREF) color +// result=0 + +#define MATH_SET_PARAMS "Math/SetParams" +// sets a parameter (only integer values) encoded in wparam +// wparam=paramcode +// lparam=parametervalue +// paramcodes: +#define MATH_PARAM_BKGCOLOR 0 // (COLORREF) std-rgb-color or TRANSPARENT_Color +#define MATH_PARAM_FONTCOLOR 1 // (COLORREF) std-rgb-color +#define RESIZE_HWND 2 // (HWND) preview window resizes RESIZE_HWND when it is being resized. +#define ToolboxEdit_HWND 3 // (HWND) If this hwnd (of an edit-box) is set, MathModule can insert Formula-elements from the Math-Toolbox. +// you can make the BKGCOLOR Transparent (default) by using this color: +#define TRANSPARENT_Color 0xffffffff -1 // this is default + +#define MTH_GETBITMAP "Math/GetBitmap" +//returns Bitmap that represents the formula given in lparam (string-pointer) +//this formula has NO Delimiters. +//wparam=0 +//lparam=(*char)Formula +//result=(HBITMAP) bitmap +//!!! the bitmap must be deleted with DeleteObject(hobject) + +//example: +//HBITMAP Bmp=(HBITMAP)CallService(MTH_GETBITMAP,0, (LPARAM)formula); + +#define MTH_GET_RTF_BITMAPTEXT "Math/GetRTFBitmapText" +// returns rich-text stream that includes bitmaps from text given in lparam +// text included between MATH_GET_STARTDELIMITER and MATH_GETENDDELIMITER +// hereby is replaced with a rtf-bitmap-stream that represents the corresponding formula +// wparam=0 +// lparam=*char text +// result=*char rtfstream +// !!! the result-buffer must be deleted with MTH_FREE_RTF_BITMAPTEXT + +#define MTH_FREE_RTF_BITMAPTEXT "Math/FreeRTFBitmapText" +// deletes the buffer that MTH_GET_RTF_BITMAPTEXT has created. +// wparam=0 +// lparam=(*char) buffer +// result=0 + + +// ************************************************************** +// The following is still SRMM - specific. +// I plan to modify it, so that other PlugIns can take advantage of e.g. preview-window.... + +#define MTH_SHOW "Math/Show" +// shows the preview-window +// wparam=0 +// lparam=0 +// result=0 + +#define MTH_HIDE "Math/Hide" +// hides the preview-window +// wparam=0 +// lparam=0 +// result=0 + +#define MTH_RESIZE "Math/Resize" +// sets the size of the preview-window +// wparam=0 +// lparam=(*TMathWindowInfo) +// result=0 +typedef struct +{ + int top; + int left; + int right; + int bottom; +} TMathWindowInfo; + +#define MTH_SETFORMULA "Math/SetFormula" +// sets the text that the preview-window should parse to display formulas found inside +// wparam=0 +// lparam=(*char) text +// result=0 + +#define MTH_Set_ToolboxEditHwnd "Math/SetTBhwnd" +// If this hwnd (of an edit-box) is set, MathModule can insert Formula-elements from the Math-Toolbox. +// wparam=0 +// lparam=handle + +#define MTH_Set_Srmm_HWND "Math/SetSrmmHWND" //übergibt fenster-Handle des aktuellen Message-Dialogs +// If MathModule knows the handle of a SRMM-based window, following features exist: +// - preview window resizes Math-Srmm when it is being resized. +// wparam=0 +// lparam=handle +// result=0 + +#define MTH_GET_PREVIEW_HEIGHT "Math/getPreviewHeight" +// returns the height of the whole preview-window (including system-menu-bar) +// consider this when maximizing a window to that preview-window is hooked on top or bottom +// it returns the height no matter whether preview-window is visible or not +// wparam=0 +// lparam=0 +// result=(int) height + +#define MTH_GET_PREVIEW_SHOWN "Math/getPreviewShown" +// returns 1 if preview window is visible +// returns 0 if preview window is invisible +// result=(int) shown + +#define MTH_SUBSTITUTE_DELIMITER "Math/SubstituteDelimiter" +// replaces Substitute given lparam-structure with internal Math-Delimiter +// wparam=0 +// lparam=(TMathSubstInfo) substInfo +// result=0 +typedef struct +{ + HWND EditHandle; + char* Substitute; +} TMathSubstInfo; + +//--------------------------------------------------- +#endif +//#ifndef M_MATHMODULE_H_ + -- cgit v1.2.3