322 lines
12 KiB
C
322 lines
12 KiB
C
|
|
/******************************************************
|
|||
|
|
* EasyX Library for C++ (Ver:20170827(beta))
|
|||
|
|
* http://www.easyx.cn
|
|||
|
|
*
|
|||
|
|
* EasyX.h
|
|||
|
|
* <EFBFBD><EFBFBD> VC <EFBFBD><EFBFBD>ʵ<EFBFBD>ּĻ<EFBFBD>ͼ
|
|||
|
|
******************************************************/
|
|||
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#ifndef WINVER
|
|||
|
|
#define WINVER 0x0400 // Specifies that the minimum required platform is Windows 95 and Windows NT 4.0.
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#ifndef _WIN32_WINNT
|
|||
|
|
#define _WIN32_WINNT 0x0500 // Specifies that the minimum required platform is Windows 2000.
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#ifndef _WIN32_WINDOWS
|
|||
|
|
#define _WIN32_WINDOWS 0x0410 // Specifies that the minimum required platform is Windows 98.
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|
|||
|
|
#ifndef __cplusplus
|
|||
|
|
#error EasyX is only for C++
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|
|||
|
|
#include <windows.h>
|
|||
|
|
#include <tchar.h>
|
|||
|
|
|
|||
|
|
// <20><>ͼ<EFBFBD><CDBC><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define SHOWCONSOLE 1 // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ʾ
|
|||
|
|
#define NOCLOSE 2 // û<>йرչ<D8B1><D5B9><EFBFBD>
|
|||
|
|
#define NOMINIMIZE 4 // û<><C3BB><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
// <20><>ɫ
|
|||
|
|
#define BLACK 0
|
|||
|
|
#define BLUE 0xAA0000
|
|||
|
|
#define GREEN 0x00AA00
|
|||
|
|
#define CYAN 0xAAAA00
|
|||
|
|
#define RED 0x0000AA
|
|||
|
|
#define MAGENTA 0xAA00AA
|
|||
|
|
#define BROWN 0x0055AA
|
|||
|
|
#define LIGHTGRAY 0xAAAAAA
|
|||
|
|
#define DARKGRAY 0x555555
|
|||
|
|
#define LIGHTBLUE 0xFF5555
|
|||
|
|
#define LIGHTGREEN 0x55FF55
|
|||
|
|
#define LIGHTCYAN 0xFFFF55
|
|||
|
|
#define LIGHTRED 0x5555FF
|
|||
|
|
#define LIGHTMAGENTA 0xFF55FF
|
|||
|
|
#define YELLOW 0x55FFFF
|
|||
|
|
#define WHITE 0xFFFFFF
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫת<C9AB><D7AA><EFBFBD><EFBFBD>
|
|||
|
|
#define BGR(color) ( (((color) & 0xFF) << 16) | ((color) & 0xFF00FF00) | (((color) & 0xFF0000) >> 16) )
|
|||
|
|
|
|||
|
|
|
|||
|
|
class IMAGE;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>ʽ
|
|||
|
|
class LINESTYLE
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
LINESTYLE();
|
|||
|
|
LINESTYLE(const LINESTYLE &style);
|
|||
|
|
LINESTYLE& operator = (const LINESTYLE &style); // <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
|
|||
|
|
virtual ~LINESTYLE();
|
|||
|
|
|
|||
|
|
DWORD style;
|
|||
|
|
DWORD thickness;
|
|||
|
|
DWORD *puserstyle;
|
|||
|
|
DWORD userstylecount;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
class FILLSTYLE
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
FILLSTYLE();
|
|||
|
|
FILLSTYLE(const FILLSTYLE &style);
|
|||
|
|
FILLSTYLE& operator = (const FILLSTYLE &style); // <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
|
|||
|
|
virtual ~FILLSTYLE();
|
|||
|
|
|
|||
|
|
int style; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
|
long hatch; // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʽ
|
|||
|
|
IMAGE* ppattern; // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
class IMAGE
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
int getwidth() const; // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
|
|||
|
|
int getheight() const; // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
int width, height; // <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
|
|||
|
|
HBITMAP m_hBmp;
|
|||
|
|
HDC m_hMemDC;
|
|||
|
|
int m_MemCurX; // <20><>ǰ<EFBFBD><C7B0>X<EFBFBD><58><EFBFBD><EFBFBD>
|
|||
|
|
int m_MemCurY; // <20><>ǰ<EFBFBD><C7B0>Y<EFBFBD><59><EFBFBD><EFBFBD>
|
|||
|
|
float m_data[6];
|
|||
|
|
COLORREF m_LineColor; // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
|
COLORREF m_FillColor; // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
|
COLORREF m_TextColor; // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
|
COLORREF m_BkColor; // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
|
DWORD* m_pBuffer; // <20><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
|||
|
|
|
|||
|
|
LINESTYLE m_LineStyle; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
|
FILLSTYLE m_FillStyle; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
|
|
|||
|
|
virtual void SetDefault(); // <20><><EFBFBD><EFBFBD>ΪĬ<CEAA><C4AC>״̬
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
IMAGE(int _width = 0, int _height = 0); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|||
|
|
IMAGE(const IMAGE &img); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
|
IMAGE& operator = (const IMAGE &img); // <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
|
|||
|
|
virtual ~IMAGE();
|
|||
|
|
virtual void Resize(int _width, int _height); // <20><><EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20><>ͼģʽ<C4A3><CABD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
|
|||
|
|
|
|||
|
|
HWND initgraph(int width, int height, int flag = NULL); // <20><>ʼ<EFBFBD><CABC>ͼ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>
|
|||
|
|
void closegraph(); // <20>ر<EFBFBD>ͼ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>
|
|||
|
|
|
|||
|
|
// <20><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
void cleardevice(); // <20><><EFBFBD><EFBFBD>
|
|||
|
|
void setcliprgn(HRGN hrgn); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0>ͼ<EFBFBD>豸<EFBFBD>IJü<C4B2><C3BC><EFBFBD>
|
|||
|
|
void clearcliprgn(); // <20><><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
void getlinestyle(LINESTYLE* pstyle); // <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
|
void setlinestyle(const LINESTYLE* pstyle); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
|
void setlinestyle(int style, int thickness = 1, const DWORD *puserstyle = NULL, DWORD userstylecount = 0); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
|
void getfillstyle(FILLSTYLE* pstyle); // <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
|
void setfillstyle(const FILLSTYLE* pstyle); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
|
void setfillstyle(int style, long hatch = NULL, IMAGE* ppattern = NULL); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
|
void setfillstyle(BYTE* ppattern8x8); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
|
|
|||
|
|
void setorigin(int x, int y); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>
|
|||
|
|
void getaspectratio(float *pxasp, float *pyasp); // <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void setaspectratio(float xasp, float yasp); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
int getrop2(); // <20><>ȡǰ<C8A1><C7B0><EFBFBD>Ķ<EFBFBD>Ԫ<EFBFBD><D4AA>դ<EFBFBD><D5A4><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
void setrop2(int mode); // <20><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>Ķ<EFBFBD>Ԫ<EFBFBD><D4AA>դ<EFBFBD><D5A4><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
int getpolyfillmode(); // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
void setpolyfillmode(int mode); // <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
|
|||
|
|
void graphdefaults(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ΪĬ<CEAA><C4AC>ֵ
|
|||
|
|
|
|||
|
|
COLORREF getlinecolor(); // <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
|
void setlinecolor(COLORREF color); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
|
COLORREF gettextcolor(); // <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
|
void settextcolor(COLORREF color); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
|
COLORREF getfillcolor(); // <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
|
void setfillcolor(COLORREF color); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
|
COLORREF getbkcolor(); // <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ɫ
|
|||
|
|
void setbkcolor(COLORREF color); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ɫ
|
|||
|
|
int getbkmode(); // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
void setbkmode(int mode); // <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
|
|||
|
|
// <20><>ɫģ<C9AB><C4A3>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
COLORREF RGBtoGRAY(COLORREF rgb);
|
|||
|
|
void RGBtoHSL(COLORREF rgb, float *H, float *S, float *L);
|
|||
|
|
void RGBtoHSV(COLORREF rgb, float *H, float *S, float *V);
|
|||
|
|
COLORREF HSLtoRGB(float H, float S, float L);
|
|||
|
|
COLORREF HSVtoRGB(float H, float S, float V);
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
COLORREF getpixel(int x, int y); // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
|
void putpixel(int x, int y, COLORREF color); // <20><><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
void moveto(int x, int y); // <20>ƶ<EFBFBD><C6B6><EFBFBD>ǰ<EFBFBD><C7B0>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
void moverel(int dx, int dy); // <20>ƶ<EFBFBD><C6B6><EFBFBD>ǰ<EFBFBD><C7B0>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
|
|||
|
|
void line(int x1, int y1, int x2, int y2); // <20><><EFBFBD><EFBFBD>
|
|||
|
|
void linerel(int dx, int dy); // <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
void lineto(int x, int y); // <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
|
|||
|
|
void rectangle (int left, int top, int right, int bottom); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void fillrectangle (int left, int top, int right, int bottom); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>б߿<D0B1>)
|
|||
|
|
void solidrectangle(int left, int top, int right, int bottom); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>ޱ߿<DEB1>)
|
|||
|
|
void clearrectangle(int left, int top, int right, int bottom); // <20><><EFBFBD>վ<EFBFBD><D5BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
void circle (int x, int y, int radius); // <20><>Բ
|
|||
|
|
void fillcircle (int x, int y, int radius); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ(<28>б߿<D0B1>)
|
|||
|
|
void solidcircle(int x, int y, int radius); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ(<28>ޱ߿<DEB1>)
|
|||
|
|
void clearcircle(int x, int y, int radius); // <20><><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
void ellipse (int left, int top, int right, int bottom); // <20><><EFBFBD><EFBFBD>Բ
|
|||
|
|
void fillellipse (int left, int top, int right, int bottom); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ(<28>б߿<D0B1>)
|
|||
|
|
void solidellipse(int left, int top, int right, int bottom); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ(<28>ޱ߿<DEB1>)
|
|||
|
|
void clearellipse(int left, int top, int right, int bottom); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
void roundrect (int left, int top, int right, int bottom, int ellipsewidth, int ellipseheight); // <20><>Բ<EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD>
|
|||
|
|
void fillroundrect (int left, int top, int right, int bottom, int ellipsewidth, int ellipseheight); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD>(<28>б߿<D0B1>)
|
|||
|
|
void solidroundrect(int left, int top, int right, int bottom, int ellipsewidth, int ellipseheight); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD>(<28>ޱ߿<DEB1>)
|
|||
|
|
void clearroundrect(int left, int top, int right, int bottom, int ellipsewidth, int ellipseheight); // <20><><EFBFBD><EFBFBD>Բ<EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
void arc (int left, int top, int right, int bottom, double stangle, double endangle); // <20><><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2>(<28><>ʼ<EFBFBD>ǶȺ<C7B6><C8BA><EFBFBD>ֹ<EFBFBD>Ƕ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
void pie (int left, int top, int right, int bottom, double stangle, double endangle); // <20><><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>(<28><>ʼ<EFBFBD>ǶȺ<C7B6><C8BA><EFBFBD>ֹ<EFBFBD>Ƕ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
void fillpie (int left, int top, int right, int bottom, double stangle, double endangle); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>(<28>б߿<D0B1>)
|
|||
|
|
void solidpie(int left, int top, int right, int bottom, double stangle, double endangle); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>(<28>ޱ߿<DEB1>)
|
|||
|
|
void clearpie(int left, int top, int right, int bottom, double stangle, double endangle); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
void polyline (const POINT *points, int num); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void polygon (const POINT *points, int num); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void fillpolygon (const POINT *points, int num); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>(<28>б߿<D0B1>)
|
|||
|
|
void solidpolygon(const POINT *points, int num); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>(<28>ޱ߿<DEB1>)
|
|||
|
|
void clearpolygon(const POINT *points, int num); // <20><><EFBFBD>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
void floodfill(int x, int y, int border); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
|
|||
|
|
|
|||
|
|
void outtext(LPCTSTR str); // <20>ڵ<EFBFBD>ǰλ<C7B0><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|||
|
|
void outtext(TCHAR c); // <20>ڵ<EFBFBD>ǰλ<C7B0><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
|
|||
|
|
void outtextxy(int x, int y, LPCTSTR str); // <20><>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|||
|
|
void outtextxy(int x, int y, TCHAR c); // <20><>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
|
|||
|
|
int textwidth(LPCTSTR str); // <20><>ȡ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ռ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ؿ<EFBFBD>
|
|||
|
|
int textwidth(TCHAR c); // <20><>ȡ<EFBFBD>ַ<EFBFBD>ռ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ؿ<EFBFBD>
|
|||
|
|
int textheight(LPCTSTR str); // <20><>ȡ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ռ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ظ<EFBFBD>
|
|||
|
|
int textheight(TCHAR c); // <20><>ȡ<EFBFBD>ַ<EFBFBD>ռ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ظ<EFBFBD>
|
|||
|
|
int drawtext(LPCTSTR str, RECT* pRect, UINT uFormat); // <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|||
|
|
int drawtext(TCHAR c, RECT* pRect, UINT uFormat); // <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
// nHeight: <20>ַ<EFBFBD><D6B7><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>߶ȣ<DFB6>
|
|||
|
|
// nWidth: <20>ַ<EFBFBD><D6B7><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0 <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>Ӧ)<29><>
|
|||
|
|
// lpszFace: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>
|
|||
|
|
// nEscapement: <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>Ƕ<EFBFBD>(<28><>λ 0.1 <20><>)<29><>
|
|||
|
|
// nOrientation: ÿ<><C3BF><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>Ƕ<EFBFBD>(<28><>λ 0.1 <20><>)<29><>
|
|||
|
|
// nWeight: <20>ַ<EFBFBD><D6B7>ıʻ<C4B1><CABB><EFBFBD>ϸ(0 <20><>ʾĬ<CABE>ϴ<EFBFBD>ϸ)<29><>
|
|||
|
|
// bItalic: <20>Ƿ<EFBFBD>б<EFBFBD>壻
|
|||
|
|
// bUnderline: <20>Ƿ<EFBFBD><C7B7>»<EFBFBD><C2BB>ߣ<EFBFBD>
|
|||
|
|
// bStrikeOut: <20>Ƿ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>ߣ<EFBFBD>
|
|||
|
|
// fbCharSet: ָ<><D6B8><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// fbOutPrecision: ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>
|
|||
|
|
// fbClipPrecision: ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ֵļ<D6B5><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>
|
|||
|
|
// fbQuality: ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// fbPitchAndFamily: ָ<><D6B8><EFBFBD>Գ<EFBFBD><D4B3>淽ʽ<E6B7BD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>С<EFBFBD>
|
|||
|
|
void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace);
|
|||
|
|
void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace, int nEscapement, int nOrientation, int nWeight, bool bItalic, bool bUnderline, bool bStrikeOut);
|
|||
|
|
void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace, int nEscapement, int nOrientation, int nWeight, bool bItalic, bool bUnderline, bool bStrikeOut, BYTE fbCharSet, BYTE fbOutPrecision, BYTE fbClipPrecision, BYTE fbQuality, BYTE fbPitchAndFamily);
|
|||
|
|
void settextstyle(const LOGFONT *font); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
|
void gettextstyle(LOGFONT *font); // <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void loadimage(IMAGE *pDstImg, LPCTSTR pImgFile, int nWidth = 0, int nHeight = 0, bool bResize = false); // <20><>ͼƬ<CDBC>ļ<EFBFBD><C4BC><EFBFBD>ȡͼ<C8A1><CDBC>(bmp/jpg/gif/emf/wmf)
|
|||
|
|
void loadimage(IMAGE *pDstImg, LPCTSTR pResType, LPCTSTR pResName, int nWidth = 0, int nHeight = 0, bool bResize = false); // <20><><EFBFBD><EFBFBD>Դ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ȡͼ<C8A1><CDBC>(bmp/jpg/gif/emf/wmf)
|
|||
|
|
void saveimage(LPCTSTR pImgFile, IMAGE* pImg = NULL); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|||
|
|
void getimage(IMAGE *pDstImg, int srcX, int srcY, int srcWidth, int srcHeight); // <20>ӵ<EFBFBD>ǰ<EFBFBD><C7B0>ͼ<EFBFBD>豸<EFBFBD><E8B1B8>ȡͼ<C8A1><CDBC>
|
|||
|
|
void putimage(int dstX, int dstY, const IMAGE *pSrcImg, DWORD dwRop = SRCCOPY); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ
|
|||
|
|
void putimage(int dstX, int dstY, int dstWidth, int dstHeight, const IMAGE *pSrcImg, int srcX, int srcY, DWORD dwRop = SRCCOPY); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ(ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
void rotateimage(IMAGE *dstimg, IMAGE *srcimg, double radian, COLORREF bkcolor = BLACK, bool autosize = false, bool highquality = true);// <20><>תͼ<D7AA><CDBC>
|
|||
|
|
void Resize(IMAGE* pImg, int width, int height); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>豸<EFBFBD>Ĵ<EFBFBD>С
|
|||
|
|
DWORD* GetImageBuffer(IMAGE* pImg = NULL); // <20><>ȡ<EFBFBD><C8A1>ͼ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD>Դ<EFBFBD>ָ<EFBFBD><D6B8>
|
|||
|
|
IMAGE* GetWorkingImage(); // <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0>ͼ<EFBFBD>豸
|
|||
|
|
void SetWorkingImage(IMAGE* pImg = NULL); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0>ͼ<EFBFBD>豸
|
|||
|
|
HDC GetImageHDC(IMAGE* pImg = NULL); // <20><>ȡ<EFBFBD><C8A1>ͼ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>(HDC)
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
int getwidth(); // <20><>ȡ<EFBFBD><C8A1>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int getheight(); // <20><>ȡ<EFBFBD><C8A1>ͼ<EFBFBD><CDBC><EFBFBD>߶<EFBFBD>
|
|||
|
|
int getx(); // <20><>ȡ<EFBFBD><C8A1>ǰ x <20><><EFBFBD><EFBFBD>
|
|||
|
|
int gety(); // <20><>ȡ<EFBFBD><C8A1>ǰ y <20><><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
void BeginBatchDraw(); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void FlushBatchDraw(); // ִ<><D6B4>δ<EFBFBD><CEB4><EFBFBD>ɵĻ<C9B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void FlushBatchDraw(int left, int top, int right, int bottom); // ִ<><D6B4>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ɵĻ<C9B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void EndBatchDraw(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD>ִ<EFBFBD><D6B4>δ<EFBFBD><CEB4><EFBFBD>ɵĻ<C9B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void EndBatchDraw(int left, int top, int right, int bottom); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD>ִ<EFBFBD><D6B4>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ɵĻ<C9B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
HWND GetHWnd(); // <20><>ȡ<EFBFBD><C8A1>ͼ<EFBFBD><CDBC><EFBFBD>ھ<EFBFBD><DABE><EFBFBD>(HWND)
|
|||
|
|
TCHAR* GetEasyXVer(); // <20><>ȡ EasyX <20><>ǰ<EFBFBD>汾
|
|||
|
|
|
|||
|
|
// <20><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool InputBox(LPTSTR pString, int nMaxCount, LPCTSTR pPrompt = NULL, LPCTSTR pTitle = NULL, LPCTSTR pDefault = NULL, int width = 0, int height = 0, bool bOnlyOK = true);
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
// ֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
|
|||
|
|
// WM_MOUSEMOVE <09><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
|
|||
|
|
// WM_MOUSEWHEEL <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>
|
|||
|
|
// WM_LBUTTONDOWN <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// WM_LBUTTONUP <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// WM_LBUTTONDBLCLK <09><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>
|
|||
|
|
// WM_MBUTTONDOWN <09>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// WM_MBUTTONUP <09>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// WM_MBUTTONDBLCLK <09>м<EFBFBD>˫<EFBFBD><CBAB>
|
|||
|
|
// WM_RBUTTONDOWN <09>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// WM_RBUTTONUP <09>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// WM_RBUTTONDBLCLK <09>Ҽ<EFBFBD>˫<EFBFBD><CBAB>
|
|||
|
|
struct MOUSEMSG
|
|||
|
|
{
|
|||
|
|
UINT uMsg; // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
bool mkCtrl; // Ctrl <20><><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool mkShift; // Shift <20><><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool mkLButton; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool mkMButton; // <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool mkRButton; // <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
short x; // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD> x <20><><EFBFBD><EFBFBD>
|
|||
|
|
short y; // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD> y <20><><EFBFBD><EFBFBD>
|
|||
|
|
short wheel; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD>ֵ (120 <20>ı<EFBFBD><C4B1><EFBFBD>)
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
bool MouseHit(); // <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
MOUSEMSG GetMouseMsg(); // <20><>ȡһ<C8A1><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>У<EFBFBD><D0A3>͵ȴ<CDB5>
|
|||
|
|
void FlushMouseMsgBuffer(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|