亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? painter.c

?? minigui1.6.9增值板復(fù)雜應(yīng)用的示例程序,看了這個用minigui就沒問題了
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*** $Id: painter.c,v 1.14.6.1 2006/06/16 01:15:49 xwyan Exp $**** A MiniGUI Painter.**** Copyright (C) 2001 ~ 2002 Wei Yongming** Copyright (C) 2003 ~ 2006 Feynman Software.**** Create date: 2001/11/01*//***  This source is free software; you can redistribute it and/or**  modify it under the terms of the GNU General Public**  License as published by the Free Software Foundation; either**  version 2 of the License, or (at your option) any later version.****  This software 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**  General Public License for more details.****  You should have received a copy of the GNU General Public**  License along with this library; if not, write to the Free**  Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,**  MA 02111-1307, USA*//*** TODO:*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <signal.h>#include <time.h>#include <sys/types.h>#include <sys/wait.h>#include <math.h>#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#include <minigui/control.h>#ifndef _USE_NEWGAL#error "***********************************************************************"#error "** This program needs New GAL of MiniGUI!                            **"#error "** Please run `./configure --enable-newgal' when configure MiniGUI,  **"#error "** then build and reinstall MiniGUI.                                 **"#error "***********************************************************************"#else#include "painter.h"#ifndef M_PI#define M_PI        3.14159265358979323846#endif#define DEFAULT_WIDTH   800#define DEFAULT_HEIGHT  600static HMENU createpmenuabout (void){    HMENU hmnu;    MENUITEMINFO mii;    memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING;    mii.id          = 0;    mii.typedata    = (DWORD)"About...";    hmnu = CreatePopupMenu (&mii);        memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_ABOUT_THIS;    mii.typedata    = (DWORD)"About MiniGUI Painter...";    InsertMenuItem(hmnu, 0, TRUE, &mii);    memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_ABOUT;    mii.typedata    = (DWORD)"About MiniGUI...";    InsertMenuItem(hmnu, 1, TRUE, &mii);    return hmnu;}static HMENU createpmenufile (void){    HMENU hmnu;    MENUITEMINFO mii;    memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING;    mii.id          = 0;    mii.typedata    = (DWORD)"File";    hmnu = CreatePopupMenu (&mii);        memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_NEW;    mii.typedata    = (DWORD)"New";    InsertMenuItem(hmnu, 0, TRUE, &mii);        mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_OPEN;    mii.typedata    = (DWORD)"Open...";    InsertMenuItem(hmnu, 1, TRUE, &mii);        mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_SAVE;    mii.typedata    = (DWORD)"Save";    InsertMenuItem(hmnu, 2, TRUE, &mii);        mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_SAVEAS;    mii.typedata    = (DWORD)"Save As...";    InsertMenuItem(hmnu, 3, TRUE, &mii);    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_CLOSE;    mii.typedata    = (DWORD)"Close";    InsertMenuItem(hmnu, 4, TRUE, &mii);        mii.type        = MFT_SEPARATOR;    mii.state       = 0;    mii.id          = 0;    mii.typedata    = 0;    InsertMenuItem(hmnu, 5, TRUE, &mii);    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_EXIT;    mii.typedata    = (DWORD)"Exit";    InsertMenuItem(hmnu, 6, TRUE, &mii);    return hmnu;}static HMENU createpmenuedit (void){    HMENU hmnu;    MENUITEMINFO mii;    memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING;    mii.id          = 0;    mii.typedata    = (DWORD)"Edit";    hmnu = CreatePopupMenu (&mii);        mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_COPY;    mii.typedata    = (DWORD)"Copy Screen";    InsertMenuItem(hmnu, 0, TRUE, &mii);         mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_PASTE;    mii.typedata    = (DWORD)"Paste";    InsertMenuItem(hmnu, 1, TRUE, &mii);          return hmnu;}static HMENU createpmenuobject (void){    HMENU hmnu;    MENUITEMINFO mii;    memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING;    mii.id          = 0;    mii.typedata    = (DWORD)"Drawing Object";    hmnu = CreatePopupMenu (&mii);        mii.type        = MFT_STRING;    mii.state       = MF_CHECKED;    mii.id          = IDM_LINE;    mii.typedata    = (DWORD)"Line";    InsertMenuItem(hmnu, 0, TRUE, &mii);         mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_ELLIPSE;    mii.typedata    = (DWORD)"Circle/Ellipse";    InsertMenuItem(hmnu, 1, TRUE, &mii);         mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_RECT;    mii.typedata    = (DWORD)"Rectangle";    InsertMenuItem(hmnu, 2, TRUE, &mii);         mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_ARC;    mii.typedata    = (DWORD)"CircleArc";    InsertMenuItem(hmnu, 3, TRUE, &mii);         mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_SPLINE;    mii.typedata    = (DWORD)"Spline";    InsertMenuItem(hmnu, 4, TRUE, &mii);    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_FILLED_RECT;    mii.typedata    = (DWORD)"Filled Rectangle";    InsertMenuItem(hmnu, 5, TRUE, &mii);    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_FILLED_ELLIPSE;    mii.typedata    = (DWORD)"Filled Circle/Ellipse";    InsertMenuItem(hmnu, 6, TRUE, &mii);    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_FILLED_POLYGON;    mii.typedata    = (DWORD)"Filled Polygon";    InsertMenuItem(hmnu, 7, TRUE, &mii);    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_FLOOD_FILL;    mii.typedata    = (DWORD)"Flood Fill";    InsertMenuItem(hmnu, 8, TRUE, &mii);        return hmnu;}static HMENU createmenu (void){    HMENU hmnu;    MENUITEMINFO mii;    hmnu = CreateMenu();    memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING;    mii.id          = 100;    mii.typedata    = (DWORD)"File";    mii.hsubmenu    = createpmenufile ();    InsertMenuItem(hmnu, 0, TRUE, &mii);    mii.type        = MFT_STRING;    mii.id          = 110;    mii.typedata    = (DWORD)"Edit";    mii.hsubmenu    = createpmenuedit ();    InsertMenuItem(hmnu, 1, TRUE, &mii);        mii.type        = MFT_STRING;    mii.id          = 120;    mii.typedata    = (DWORD)"Object";    mii.hsubmenu    = createpmenuobject ();    InsertMenuItem(hmnu, 2, TRUE, &mii);        mii.type        = MFT_STRING;    mii.id          = 130;    mii.typedata    = (DWORD)"About";    mii.hsubmenu    = createpmenuabout ();    InsertMenuItem(hmnu, 3, TRUE, &mii);                       return hmnu;}#define MAX_POINTS  40static int obj_type = IDM_LINE;static POINT pts [MAX_POINTS];static int cur_pt = 0;static int oldx = -1, oldy;static void DrawObject (HDC hdc){    switch (obj_type) {    case IDM_LINE:        if (cur_pt == 2) {            MoveTo (hdc, pts[0].x, pts[0].y);            LineTo (hdc, pts[1].x, pts[1].y);            cur_pt = 0; oldx = -1;        }        break;    case IDM_ELLIPSE:        if (cur_pt == 2) {            int rx = ABS (pts[1].x - pts[0].x);            int ry = ABS (pts[1].y - pts[0].y);            if (rx == ry)                Circle (hdc, pts[0].x, pts[0].y, rx);            else                Ellipse (hdc, pts[0].x, pts[0].y, rx, ry);            cur_pt = 0; oldx = -1;        }        break;    case IDM_RECT:        if (cur_pt == 2) {            Rectangle (hdc, pts[0].x, pts[0].y, pts[1].x, pts[1].y);            cur_pt = 0; oldx = -1;        }        break;    case IDM_ARC:        if (cur_pt == 3) {            int sx = pts [0].x, sy = pts [0].y;            int dx = pts [1].x - sx, dy = pts [1].y - sy;            double r = sqrt (dx * dx + dy * dy);            double cos_d = dx * 1.0 / r;            double ang1 = acos (cos_d);            int r2;            double ang2;            int a1, a2;            if (dy > 0) {                ang1 = -ang1;            }            dx = pts [2].x - sx;            dy = pts [2].y - sy;            r2 = sqrt (dx * dx * 1.0 + dy * dy * 1.0);            cos_d = dx * 1.0 / r2;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国偷自产一区二区三区成为亚洲经典 | caoporm超碰国产精品| 久久久蜜桃精品| 国产一区二区h| 久久精品人人做| av午夜一区麻豆| 一区二区成人在线| 欧美日本国产视频| 久久国内精品自在自线400部| 精品国产一区二区三区久久影院| 极品少妇xxxx精品少妇| 国产日韩成人精品| 91一区二区在线观看| 亚洲国产美女搞黄色| 日韩欧美你懂的| 从欧美一区二区三区| 一区二区三区小说| 日韩视频不卡中文| 成人中文字幕合集| 亚洲一区在线观看网站| 欧美成人一区二区三区在线观看 | 亚洲一区二区三区四区的 | 日本亚洲一区二区| 久久久综合视频| 色94色欧美sute亚洲13| 美女看a上一区| 欧美激情一区二区三区不卡| 欧美一a一片一级一片| 久草这里只有精品视频| 亚洲欧美综合另类在线卡通| 欧美性大战久久久久久久蜜臀| 老司机午夜精品| 亚洲欧美激情插| 久久久久久久久免费| 欧美日韩国产精品自在自线| 成人亚洲一区二区一| 日本欧美大码aⅴ在线播放| 国产精品色在线| 欧美一级理论片| 91高清视频免费看| 国产精品99久久久久久似苏梦涵| 一区二区三区蜜桃| 久久久精品蜜桃| 欧美一区二区三区小说| 91免费小视频| 国产大陆亚洲精品国产| 日韩中文欧美在线| 亚洲欧美韩国综合色| 国产欧美日韩亚州综合| 日韩一区二区三区在线视频| 在线观看亚洲a| www.欧美日韩| 国产美女精品一区二区三区| 日日夜夜精品视频天天综合网| 亚洲欧洲成人自拍| 国产欧美一区二区三区沐欲| 日韩一级视频免费观看在线| 在线亚洲一区观看| 成人午夜精品一区二区三区| 精品一区二区在线视频| 日韩成人一区二区三区在线观看| 亚洲精品日日夜夜| 亚洲摸摸操操av| 欧美高清在线视频| 国产香蕉久久精品综合网| 精品久久一区二区| 欧美不卡在线视频| 日韩精品专区在线影院重磅| 欧美高清视频不卡网| 欧美视频第二页| 91九色最新地址| 色爱区综合激月婷婷| 日本韩国欧美三级| 日本电影欧美片| 91色porny在线视频| 色久优优欧美色久优优| 一本大道久久a久久精二百| 91小视频免费看| 一本久久综合亚洲鲁鲁五月天 | 欧美一区午夜视频在线观看| 欧美日韩一区二区三区在线看| 日本丶国产丶欧美色综合| 在线亚洲一区二区| 欧美日韩精品欧美日韩精品| 欧洲视频一区二区| 欧美男人的天堂一二区| 日韩无一区二区| xnxx国产精品| 久久久久久久久久久久久久久99 | 国产真实乱偷精品视频免| 国产曰批免费观看久久久| 国产一区二区主播在线| 国产高清精品网站| 97国产精品videossex| 欧美综合天天夜夜久久| 91精品欧美综合在线观看最新| 欧美电影免费观看完整版| 2020国产成人综合网| 国产欧美一区二区三区在线看蜜臀 | 日本亚洲天堂网| 国产麻豆视频一区二区| 99精品欧美一区| 欧洲亚洲精品在线| 精品国产免费视频| 中文字幕在线一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 日本强好片久久久久久aaa| 国产一区二区久久| 日本高清免费不卡视频| 欧美一区二区三区四区高清| 久久女同性恋中文字幕| 一区二区三区日本| 久久国内精品视频| 色综合久久99| 日韩精品专区在线影院重磅| 中文字幕亚洲精品在线观看| 日韩电影在线免费观看| 成人三级伦理片| 欧美精品久久99| 亚洲国产精品激情在线观看| 图片区小说区国产精品视频| 国产精品一区二区在线播放 | 韩国av一区二区三区四区| 97久久精品人人做人人爽 | 色婷婷av一区二区三区软件 | 欧美性受xxxx| 久久久综合视频| 天天综合网天天综合色| jlzzjlzz亚洲日本少妇| 久久综合久久久久88| 亚洲第一福利视频在线| av资源网一区| 久久久综合激的五月天| 三级成人在线视频| 在线看国产一区| 成人欧美一区二区三区1314| 蜜臀av性久久久久蜜臀av麻豆| 91看片淫黄大片一级| 国产日韩精品视频一区| 蜜臀av一级做a爰片久久| 欧美色中文字幕| 亚洲视频小说图片| 风间由美一区二区av101| 日韩一区二区三区在线观看| 亚洲激情av在线| 91免费看`日韩一区二区| 欧美国产欧美亚州国产日韩mv天天看完整| 午夜日韩在线观看| 欧美色综合久久| 伊人开心综合网| 色哟哟精品一区| 最新日韩av在线| 成人一区二区三区中文字幕| 久久夜色精品国产噜噜av| 日av在线不卡| 日韩一区二区三区在线观看| 亚洲大片在线观看| 欧美日韩成人综合| 亚洲国产色一区| 91官网在线免费观看| 亚洲精品伦理在线| 色综合久久中文字幕| 国产精品国模大尺度视频| 国产精品99精品久久免费| 久久久久久亚洲综合影院红桃| 极品瑜伽女神91| 久久久天堂av| 福利一区在线观看| 中文字幕日韩一区| 97久久精品人人澡人人爽| 中文字幕日韩av资源站| 91麻豆swag| 亚洲成人综合视频| 6080国产精品一区二区| 琪琪久久久久日韩精品| 欧美成人福利视频| 国产成人免费9x9x人网站视频| 国产日韩欧美不卡在线| heyzo一本久久综合| 亚洲精选在线视频| 欧美三电影在线| 毛片av中文字幕一区二区| 精品毛片乱码1区2区3区| 国产成人综合精品三级| 综合自拍亚洲综合图不卡区| 日本韩国视频一区二区| 日韩国产一二三区| 精品国产一区二区国模嫣然| 国产成人av一区| 一区二区久久久久| 日韩免费视频线观看| 高清shemale亚洲人妖| 亚洲综合无码一区二区| 51精品视频一区二区三区| 国模大尺度一区二区三区| 国产精品久久毛片| 777久久久精品| 国产黄色91视频| 亚洲一区二区在线免费看| 日韩精品自拍偷拍|