diff options
Diffstat (limited to 'plugins/!Deprecated/ExternalAPI/m_MathModule.h')
-rw-r--r-- | plugins/!Deprecated/ExternalAPI/m_MathModule.h | 263 |
1 files changed, 263 insertions, 0 deletions
diff --git a/plugins/!Deprecated/ExternalAPI/m_MathModule.h b/plugins/!Deprecated/ExternalAPI/m_MathModule.h new file mode 100644 index 0000000000..04ae06a7f7 --- /dev/null +++ b/plugins/!Deprecated/ExternalAPI/m_MathModule.h @@ -0,0 +1,263 @@ +#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 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_GIF "Math/GetGif"
+// this renders a formula given in lparam and produces a gif-image in a temporary-folder
+// and returns the filename (full path). Be sure to copy the file if you want to preserve it,
+// because the files are managed as a ring-buffer, if 99 files already exist, this
+// function overwrites the first one.
+// wparam=0
+// lparam=*char text // formula WITHOUT delimiters
+// result=(*char)path
+// !!! the result-buffer must be deleted with MTH_FREE_GIFPATH
+#define MTH_GET_GIF_UNICODE "Math/GetGifUnicode"
+// wparam=0
+// lparam=*wchar_t text
+// result=*char path
+// !!! the result-buffer must be deleted with MTH_FREE_GIFPATH
+#define MTH_FREE_GIFPATH "Math/FreeRTFBitmapText"
+
+#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
+
+#define MTH_GET_HTML_SOURCE "Math/GetHTMLSource"
+// this is similar to MTH_GET_RTF_BITMAPTEXT, but
+// as we cannot include embedded images, the bitmaps are saved in a
+// temporary directory (relative to Miranda-dir) and the images are linked into
+// the html-source
+// wparam=0
+// lparam=*char text // this has to be html-source already. this function only adds formula-links.
+// result=*char htmlsource
+// !!! the result-buffer must be deleted with MTH_FREE_HTML_BUFFER
+#define MTH_GET_HTML_SOURCE_UNICODE "Math/GetHTMLSourceUnicode"
+// wparam=0
+// lparam=*wchar_t text
+// result=*wchar_t htmlsource
+#define MTH_FREE_HTML_BUFFER "Math/FreeRTFBitmapText"
+// deletes string-buffers that MathModule has created.
+// wparam=(bool) unicode // 0 if no unicode-buffer; 1 if unicode-buffer !!!
+// lparam=(*char) buffer
+// result=0
+
+
+// **********parameter functions:
+
+#define MATH_SET_PARAMS "Math/SetParams"
+//--------------------------------------
+// sets a parameter (only integer values) specified in wparam
+// wparam=paramcode
+// lparam=parametervalue
+// paramcodes:
+ #define MATH_PARAM_BKGCOLOR 0 // (COLORREF) std-rgb-color or TRANSPARENT_Color
+ // you can make the BKGCOLOR Transparent (default) by using this color:
+ #define TRANSPARENT_Color 0xffffffff -1 // this is default
+ #define MATH_PARAM_FONTCOLOR 1 // (COLORREF) std-rgb-color
+ #define MATH_PARAM_RESIZE_HWND 2 // (HWND) preview window resizes RESIZE_HWND when it is being resized.
+ #define MATH_PARAM_ToolboxEdit_HWND 3 // (HWND) If this hwnd (of an edit-box) is set, MathModule can insert Formula-elements from the Math-Toolbox.
+
+#define MATH_GET_PARAMS "Math/GetParams"
+//---------------------------------------
+// get a parameter (only integer values) specified in wparam
+// wparam=paramcode
+// lparam=lparamOfPARAM // see below
+// paramcodes and returnvalues:
+ #define MATH_PARAM_STARTDELIMITER 4 // retval: *char delimiter // the delimiter that marks the beginning of a formula
+ // !!! the result-buffer must be deleted with MTH_FREE_MATH_BUFFER
+ // lparam=0
+ #define MATH_PARAM_ENDDELIMITER 5 // retval: *char delimiter // the delimiter that marks the end of a formula
+ // !!! the result-buffer must be deleted with MTH_FREE_MATH_BUFFER
+ // lparam=0
+// ************end parameter functions.
+
+#define MTH_FREE_MATH_BUFFER "Math/FreeRTFBitmapText"
+// deletes string-buffers that MathModule has created. (at the moment only the *DELIMITER-services create such strings)
+// wparam=0
+// lparam=(*char) buffer
+// result=0
+
+
+
+// ********* preview-window functions
+
+#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_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
+
+//---------------end preview functions
+
+
+#define MTH_SUBSTITUTE_DELIMITER "Math/SubstituteDelimiter"
+// replaces Substitute in an edit-box given in lparam-structure with internal Math-Delimiter.
+// MathSrmm uses this for the shortcut-functionality
+// I do not recommend to use this, it's not Unicode-safe
+// wparam=0
+// lparam=(TMathSubstInfo) substInfo
+// result=0
+typedef struct
+{
+ HWND EditHandle;
+ char* Substitute;
+} TMathSubstInfo;
+
+
+
+
+
+//
+// ---- here are some obsolete services. I plan to remove them soon. Use MATH_SET_PARAMS or MATH_GET_PARAMS instead !!
+//
+
+#define MATH_SETBKGCOLOR "Math/SetBackGroundColor"
+// changes the background color of the next formula to be rendered.
+// wparam=0
+// lparam=(COLORREF) color
+// 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_Resize_HWND "Math/SetResizeHWND" //ü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 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
+
+//---------------------------------------------------
+#endif
+//#ifndef M_MATHMODULE_H_
+
|