⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cvgshape.h

📁 开源的电子海图程序
💻 H
字号:
/* GHelm - Nautical Navigation Software * Copyright (C) 2004 Jon Michaelchuck * * This application is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 2 * as published by the Free Software Foundation. * * 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 software; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA. */#ifndef CVGSHAPE_H_#define CVGSHAPE_H_#include <libxml/tree.h>#include <libxml/parser.h>#include <vector>#include "cvgstrokegroup.h"/** * Fillable cvg object */class CVGFillable{     public:        CVGFillable();        ~CVGFillable() { }        int Load(xmlDocPtr doc, xmlNodePtr cur);        bool filled;        float fill_rgb[3];};/** * Shape cvg object */class CVGShape{    public:        CVGShape() { }        virtual ~CVGShape() { }        virtual int Load(xmlDocPtr doc, xmlNodePtr cur) = 0;        virtual void Render() = 0;        CVGStrokeGroup stroke_group;};/** * cvg rectangle */class CVGRect : public CVGShape, public CVGFillable{    public:        CVGRect();        ~CVGRect();        int Load(xmlDocPtr doc, xmlNodePtr cur);        void Render();        double *p0;        double *p1;        double *p2;        double *p3;};/** * cvg polygon */class CVGPolygon : public CVGShape, public CVGFillable{    public:        CVGPolygon() { }        ~CVGPolygon() { }        int Load(xmlDocPtr doc, xmlNodePtr cur);        void Render();        std::vector<double *> verts;};/** * cvg polygon */class CVGPolyline : public CVGShape, public CVGFillable{    public:        CVGPolyline() { }        ~CVGPolyline() { }        int Load(xmlDocPtr doc, xmlNodePtr cur);        void Render();        std::vector<double *> verts;};/** * cvg circle */class CVGCircle : public CVGShape, public CVGFillable{    public:        CVGCircle() { }        ~CVGCircle() { }        int Load(xmlDocPtr doc, xmlNodePtr cur);        void Render();        double x, y;        double radius;};/** * cvg ellipse */class CVGEllipse : public CVGShape, public CVGFillable{    public:        CVGEllipse() { }        ~CVGEllipse() { }        int Load(xmlDocPtr doc, xmlNodePtr cur);        void Render();        double x, y;        double xradius, yradius;};/** * cvg line */class CVGLine : public CVGShape{    public:        CVGLine();        ~CVGLine();        int Load(xmlDocPtr doc, xmlNodePtr cur);        void Render();        double *p0;        double *p1;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -