📄 fx.xtcwp.lib
字号:
FX - Functions to support floating point coordinates in XFMapFX map float x to xFMapFY map float y to yFMapFWidth map float width to widthFMapFHeight map float height to heightFMapFAngle map float angle to angleFMapFPoint map float x,y to x,yFMapFPoints map float points to pointsFMapX inverse map x to float xFMapY inverse map y to float yFMapWidth inverse map width to float widthFMapHeight inverse map height to float heightFMapAngle inverse map angle to float angleFMapPoint map x,y to float x,yFMapPoints map points to float pointsFSetGC set graphics contextFSetMap set map (scales and shifts)FSetClipRectangle set clip rectangleFClipOn turn clip onFClipOff turn clip offFClipPoint clip pointFClipLine clip lineFClipRectangle clip rectangleFXCreateFGC create float graphics contextFXFreeFGC free float graphic contextFXDrawPoint draw point at float x,y (with clipping)FXDrawPoints draw float points (with clipping)FXDrawLine draw line from float x1,y1 to float x2,y2 (with clipping)FXDrawLines draw lines between float points (with clipping)FXDrawRectangle draw rectangle with float x,y,width,height (with clipping)FXDrawArc draw arc with float x,y,width,height,angle1,angle2FXDrawString draw string at float x,yFXFillRectangle fill rectangle with float x,y,width,height (with clipping)Function Prototypes:int FMapFX (FGC fgc, float fx);int FMapFY (FGC fgc, float fy);int FMapFWidth (FGC fgc, float fwidth);int FMapFHeight (FGC fgc, float fheight);int FMapFAngle (FGC fgc, float fangle);void FMapFPoint (FGC fgc, float fx, float fy, int *x_return, int *y_return);void FMapFPoints (FGC fgc, FXPoint fpoints[], int npoints, XPoint points_return[]);float FMapX (FGC fgc, int x);float FMapY (FGC fgc, int y);float FMapWidth (FGC fgc, int width);float FMapHeight (FGC fgc, int height);float FMapAngle (FGC fgc, int angle);void FMapPoint (FGC fgc, int x, int y, float *fx_return, float *fy_return);void FMapPoints (FGC fgc, XPoint points[], int npoints, FXPoint fpoints_return[]);void FSetGC (FGC fgc, GC gc);void FSetMap (FGC fgc, int x, int y, int width, int height, float fx, float fy, float fwidth, float fheight);void FSetClipRectangle(FGC fgc, float fxa, float fya, float fxb, float fyb);void FClipOn (FGC fgc);void FClipOff (FGC fgc);int FClipPoint (FGC fgc, float fx, float fy);int FClipLine (FGC fgc, float fx1, float fy1, float fx2, float fy2, float *fx1c, float *fy1c, float *fx2c, float *fy2c);int FClipRectangle (FGC fgc, float fx, float fy, float fwidth, float fheight, float *fxc, float *fyc, float *fwidthc, float *fheightc);FGC FXCreateFGC (GC gc, int x, int y, int width, int height, float fx, float fy, float fwidth, float fheight);void FXFreeFGC (FGC fgc);void FXDrawPoint (Display *display, Drawable d, FGC fgc, float fx, float fy);void FXDrawPoints (Display *display, Drawable d, FGC fgc, FXPoint fpoints[], int npoints, int mode);void FXDrawLine (Display *display, Drawable d, FGC fgc, float fx1, float fy1, float fx2, float fy2);void FXDrawLines (Display *display, Drawable d, FGC fgc, FXPoint fpoints[], int npoints, int mode);void FXDrawRectangle (Display *display, Drawable d, FGC fgc, float fx, float fy, float fwidth, float fheight);void FXDrawArc (Display *display, Drawable d, FGC fgc, float fx, float fy, float fwidth, float fheight, float fangle1, float fangle2);void FXDrawString (Display *display, Drawable d, FGC fgc, float fx, float fy, char *string, int length);void FXFillRectangle (Display *display, Drawable d, FGC fgc, float fx, float fy, float fwidth, float fheight);Notes:The functions defined below are designed to resemble the equivalent X functions. For example, FXDrawLine() is analogous to XDrawLine.Each of the FXDraw<xxx>() functions requires an FGC instead of a GC(graphics context). An FGC contains a GC, along with the information required to transform floating point coordinates to integer (pixel) coordinates.Additional functions are provided to transform floating point coordinatesto integer coordinates and vice versa. Where feasible, macros are alsoprovided to perform these coordinate transformations.Clipping of floating point coordinates is supported, because clippingafter mapping to integer coordinates is not valid when the mappedinteger coordinates overflow the range of short integers. By clippingthe floating point coordinates before mapping to integers, this overflowcan be avoided. By default, clipping is turned off until a clip rectangleis specified or until clipping is explicitly turned on. Clipping isnot currently supported for all FXDraw functions.Author: Dave Hale, Colorado School of Mines, 07/24/90Modified: Dave Hale, Colorado School of Mines, 05/18/91 Added floating point clipping capability to some FXDraw functions.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -