?? macro.h
字號:
/* libwmf (<libwmf/macro.h>): library for wmf conversion Copyright (C) 2000 - various; see CREDITS, ChangeLog, and sources The libwmf Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The libwmf Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the libwmf Library; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */#ifndef LIBWMF_MACRO_H#define LIBWMF_MACRO_H#include <math.h>#include <libwmf/defs.h>#include <libwmf/types.h>#include <libwmf/ipa.h>/** * WMF_PEN_STYLE(wmfPen* P) -> (U16) pen style */#define WMF_PEN_STYLE(P) ((P)->lopnStyle & PS_STYLE_MASK)/** * WMF_PEN_ENDCAP(wmfPen* P) -> (U16) endcap style */#define WMF_PEN_ENDCAP(P) ((P)->lopnStyle & PS_ENDCAP_MASK)/** * WMF_PEN_JOIN(wmfPen* P) -> (U16) join style */#define WMF_PEN_JOIN(P) ((P)->lopnStyle & PS_JOIN_MASK)/** * WMF_PEN_TYPE(wmfPen* P) -> (U16) `type' of pen (??) */#define WMF_PEN_TYPE(P) ((P)->lopnStyle & PS_TYPE_MASK)/** * WMF_PEN_WIDTH(wmfPen* P) -> (double) pen `width' (thickness w.r.t. x-axis) */#define WMF_PEN_WIDTH(P) ((P)->width)/** * WMF_PEN_HEIGHT(wmfPen* P) -> (double) pen `height' (thickness w.r.t. y-axis) */#define WMF_PEN_HEIGHT(P) ((P)->height)/** * WMF_PEN_COLOR(wmfPen* P) -> (wmfRGB*) pen color */#define WMF_PEN_COLOR(P) (&((P)->lopnColor))/** * WMF_PEN_SET_STYLE(wmfPen* P,(U16) pen style) */#define WMF_PEN_SET_STYLE(P,Z) (P)->lopnStyle = ((P)->lopnStyle & ~PS_STYLE_MASK ) | ((Z) & PS_STYLE_MASK )/** * WMF_PEN_SET_ENDCAP(wmfPen* P,(U16) endcap style) */#define WMF_PEN_SET_ENDCAP(P,Z) (P)->lopnStyle = ((P)->lopnStyle & ~PS_ENDCAP_MASK) | ((Z) & PS_ENDCAP_MASK)/** * WMF_PEN_SET_JOIN(wmfPen* P,(U16) join style) */#define WMF_PEN_SET_JOIN(P,Z) (P)->lopnStyle = ((P)->lopnStyle & ~PS_JOIN_MASK ) | ((Z) & PS_JOIN_MASK )/** * WMF_PEN_SET_TYPE(wmfPen* P,(U16) `type' of pen) */#define WMF_PEN_SET_TYPE(P,Z) (P)->lopnStyle = ((P)->lopnStyle & ~PS_TYPE_MASK ) | ((Z) & PS_TYPE_MASK )/** * WMF_PEN_SET_WIDTH(wmfPen* P,(double) pen `width') */#define WMF_PEN_SET_WIDTH(P,Z) (P)->width = (Z)/** * WMF_PEN_SET_HEIGHT(wmfPen* P,(double) pen `height') */#define WMF_PEN_SET_HEIGHT(P,Z) (P)->height = (Z)/** * WMF_PEN_SET_COLOR(wmfPen* P,(wmfRGB*) pen color) */#define WMF_PEN_SET_COLOR(P,Z) (P)->lopnColor = (*(Z))/** * WMF_BRUSH_STYLE(wmfBrush* B) -> (U16) brush style */#define WMF_BRUSH_STYLE(B) ((B)->lbStyle)/** * WMF_BRUSH_HATCH(wmfBrush* B) -> (U16) brush hatch style */#define WMF_BRUSH_HATCH(B) ((B)->lbHatch)/** * WMF_BRUSH_COLOR(wmfBrush* B) -> (wmfRGB*) brush color */#define WMF_BRUSH_COLOR(B) (&((B)->lbColor))/** * WMF_BRUSH_BITMAP(wmfBrush* B) -> (wmfBMP*) brush bitmap */#define WMF_BRUSH_BITMAP(B) (&((B)->bmp))/** * WMF_BRUSH_SET_STYLE(wmfBrush* B,(U16) brush style) */#define WMF_BRUSH_SET_STYLE(B,Z) (B)->lbStyle = (Z)/** * WMF_BRUSH_SET_HATCH(wmfBrush* B,(U16) brush hatch style) */#define WMF_BRUSH_SET_HATCH(B,Z) (B)->lbHatch = (Z)/** * WMF_BRUSH_SET_COLOR(wmfBrush* B,(wmfRGB*) brush color) */#define WMF_BRUSH_SET_COLOR(B,Z) (B)->lbColor = (*(Z))/** * WMF_BRUSH_SET_BITMAP(wmfBrush* B,(wmfBMP*) brush bitmap) */#define WMF_BRUSH_SET_BITMAP(B,Z) (B)->bmp = (*(Z))/** * WMF_TEXT_ANGLE(wmfFont* F) -> (double) text angle in radians */#define WMF_TEXT_ANGLE(F) ((((double) (F)->lfEscapement) / 10) * M_PI / 180)/** * WMF_TEXT_UNDERLINE(wmfFont* F) -> (U8) ?? whether to underline (?? how thick) */#define WMF_TEXT_UNDERLINE(F) ((F)->lfUnderline)/** * WMF_TEXT_STRIKEOUT(wmfFont* F) -> (U8) ?? whether to strikeout (?? how thick) */#define WMF_TEXT_STRIKEOUT(F) ((F)->lfStrikeOut)/** * WMF_FONT_WIDTH(wmfFont* F) -> (U16) font `width' */#define WMF_FONT_WIDTH(F) ((F)->lfWidth)/** * WMF_FONT_HEIGHT(wmfFont* F) -> (U16) font height */#define WMF_FONT_HEIGHT(F) ((F)->lfHeight)/** * WMF_FONT_ESCAPEMENT(wmfFont* F) -> (S16) escapement [use WMF_TEXT_ANGLE instead] */#define WMF_FONT_ESCAPEMENT(F) ((F)->lfEscapement)/** * WMF_FONT_ORIENTATION(wmfFont* F) -> (S16) orientation [??] */#define WMF_FONT_ORIENTATION(F) ((F)->lfOrientation)/** * WMF_FONT_WEIGHT(wmfFont* F) -> (U16) weight */#define WMF_FONT_WEIGHT(F) ((F)->lfWeight)/** * WMF_FONT_ITALIC(wmfFont* F) -> (U8) italic */#define WMF_FONT_ITALIC(F) ((F)->lfItalic)/** * WMF_FONT_OUT(wmfFont* F) -> (U8) output precision [??] */#define WMF_FONT_OUT(F) ((F)->lfOutPrecision)/** * WMF_FONT_CLIP(wmfFont* F) -> (U8) clip precision [??] */#define WMF_FONT_CLIP(F) ((F)->lfClipPrecision)/** * WMF_FONT_QUALITY(wmfFont* F) -> (U8) quality [??] */#define WMF_FONT_QUALITY(F) ((F)->lfQuality)/** * WMF_FONT_PITCH(wmfFont* F) -> (U8) pitch & family [??] */#define WMF_FONT_PITCH(F) ((F)->lfPitchAndFamily)/** * WMF_FONT_CHARSET(wmfFont* F) -> (U8) character set */#define WMF_FONT_CHARSET(F) ((F)->lfCharSet)/** * WMF_FONT_NAME(wmfFont* F) -> (char*) font name supplied by metafile */#define WMF_FONT_NAME(F) ((F)->lfFaceName)/** * WMF_TEXT_SET_UNDERLINE(wmfFont* F,(U8) ?? whether to underline (?? how thick)) */#define WMF_TEXT_SET_UNDERLINE(F,Z) (F)->lfUnderline = (Z)/** * WMF_TEXT_SET_STRIKEOUT(wmfFont* F,(U8) ?? whether to strikeout (?? how thick)) */#define WMF_TEXT_SET_STRIKEOUT(F,Z) (F)->lfStrikeOut = (Z)/** * WMF_FONT_SET_WIDTH(wmfFont* F,(U16) font `width') */#define WMF_FONT_SET_WIDTH(F,Z) (F)->lfWidth = (Z)/** * WMF_FONT_SET_HEIGHT(wmfFont* F,(U16) font height) */#define WMF_FONT_SET_HEIGHT(F,Z) (F)->lfHeight = (Z)/** * WMF_FONT_SET_ESCAPEMENT(wmfFont* F,(S16) escapement) */#define WMF_FONT_SET_ESCAPEMENT(F,Z) (F)->lfEscapement = (Z)/** * WMF_FONT_SET_ORIENTATION(wmfFont* F,(S16) orientation [??]) */#define WMF_FONT_SET_ORIENTATION(F,Z) (F)->lfOrientation = (Z)/** * WMF_FONT_SET_WEIGHT(wmfFont* F,(U16) weight) */#define WMF_FONT_SET_WEIGHT(F,Z) (F)->lfWeight = (Z)/** * WMF_FONT_SET_ITALIC(wmfFont* F,(U8) italic) */#define WMF_FONT_SET_ITALIC(F,Z) (F)->lfItalic = (Z)/** * WMF_FONT_SET_OUT(wmfFont* F,(U8) output precision [??]) */#define WMF_FONT_SET_OUT(F,Z) (F)->lfOutPrecision = (Z)/** * WMF_FONT_SET_CLIP(wmfFont* F,(U8) clip precision [??]) */#define WMF_FONT_SET_CLIP(F,Z) (F)->lfClipPrecision = (Z)/** * WMF_FONT_SET_QUALITY(wmfFont* F,(U8) quality [??]) */#define WMF_FONT_SET_QUALITY(F,Z) (F)->lfQuality = (Z)/** * WMF_FONT_SET_PITCH(wmfFont* F,(U8) pitch & family [??]) */#define WMF_FONT_SET_PITCH(F,Z) (F)->lfPitchAndFamily = (Z)/** * WMF_FONT_SET_CHARSET(wmfFont* F,(U8) chracter set) */#define WMF_FONT_SET_CHARSET(F,Z) (F)->lfCharSet = (Z)/** * WMF_FONT_SET_NAME(wmfFont* F,(char*) font name supplied by metafile [do not free this string!]) */#define WMF_FONT_SET_NAME(F,Z) (F)->lfFaceName = (Z)/** * WMF_DC_BRUSH(wmfDC* C) -> (wmfBrush*) current brush */#define WMF_DC_BRUSH(C) ((C)->brush)/** * WMF_DC_PEN(wmfDC* C) -> (wmfPen*) current pen */#define WMF_DC_PEN(C) ((C)->pen)/** * WMF_DC_FONT(wmfDC* C) -> (wmfFont*) current font */#define WMF_DC_FONT(C) ((C)->font)/** * WMF_DC_TEXTCOLOR(wmfDC* C) -> (wmfRGB*) text color */#define WMF_DC_TEXTCOLOR(C) (&((C)->textcolor))/** * WMF_DC_BACKGROUND(wmfDC* C) -> (wmfRGB*) background color */#define WMF_DC_BACKGROUND(C) (&((C)->bgcolor))/** * WMF_DC_OPAQUE(wmfDC* C) -> (U16) whether to fill opaque (non-zero if true) */#define WMF_DC_OPAQUE(C) ((C)->bgmode == OPAQUE)/** * WMF_DC_TRANSPARENT(wmfDC* C) -> (U16) whether to fill transparent */#define WMF_DC_TRANSPARENT(C) ((C)->bgmode == TRANSPARENT)/** * WMF_DC_POLYFILL(wmfDC* C) -> (U16) how to fill polygons */#define WMF_DC_POLYFILL(C) ((C)->polyfillmode)/** * WMF_DC_ROP(wmfDC* C) -> (U16) ROP mode */#define WMF_DC_ROP(C) ((C)->ROPmode)/** * WMF_DC_TEXTALIGN(wmfDC* C) -> (U16) how to align text */#define WMF_DC_TEXTALIGN(C) ((C)->textalign)/** * WMF_DC_CHAREXTRA(wmfDC* C) -> (U16) char [extended character set??] */#define WMF_DC_CHAREXTRA(C) ((C)->charextra)/** * WMF_DC_BREAKEXTRA(wmfDC* C) -> (U16) break [line break??] */#define WMF_DC_BREAKEXTRA(C) ((C)->breakextra)/* Definition subject to change: *//** * WMF_DC_SET_PEN(wmfDC* C,(wmfPen*) current pen) */#define WMF_DC_SET_PEN(C,Z) (C)->pen = (Z)/** * WMF_DC_SET_BRUSH(wmfDC* C,(wmfBrush*) current brush) */#define WMF_DC_SET_BRUSH(C,Z) (C)->brush = (Z)/** * WMF_DC_SET_FONT(wmfDC* C,(wmfFont*) current font) */#define WMF_DC_SET_FONT(C,Z) (C)->font = (Z)/** * WMF_DC_SET_TEXTCOLOR(wmfDC* C,(wmfRGB*) text color) */#define WMF_DC_SET_TEXTCOLOR(C,Z) (C)->textcolor = (*(Z))/** * WMF_DC_SET_BACKGROUND(wmfDC* C,(wmfRGB*) background color) */#define WMF_DC_SET_BACKGROUND(C,Z) (C)->bgcolor = (*(Z))/** * WMF_DC_SET_OPAQUE(wmfDC* C) */#define WMF_DC_SET_OPAQUE(C) (C)->bgmode = OPAQUE/** * WMF_DC_SET_TRANSPARENT(wmfDC* C) */#define WMF_DC_SET_TRANSPARENT(C) (C)->bgmode = TRANSPARENT/** * WMF_DC_SET_POLYFILL(wmfDC* C,(U16) how to fill polygons) */#define WMF_DC_SET_POLYFILL(C,Z) (C)->polyfillmode = (Z)/** * WMF_DC_SET_ROP(wmfDC* C,(U16) ROP mode) */#define WMF_DC_SET_ROP(C,Z) (C)->ROPmode = (Z)/** * WMF_DC_SET_TEXTALIGN(wmfDC* C,(U16) how to align text) */#define WMF_DC_SET_TEXTALIGN(C,Z) (C)->textalign = (Z)/** * WMF_DC_SET_CHAREXTRA(wmfDC* C,(U16) char [extended character set??]) */#define WMF_DC_SET_CHAREXTRA(C,Z) (C)->charextra = (Z)/** * WMF_DC_SET_BREAKEXTRA(wmfDC* C,(U16) break [line break??]) */#define WMF_DC_SET_BREAKEXTRA(C,Z) (C)->breakextra = (Z)#endif /* ! LIBWMF_MACRO_H */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -