Version: 0.6.0
renderer.h
1 /******************************************************************************
2  * Project: wxGIS
3  * Purpose: wxGISRenderer class.
4  * Author: Dmitry Baryshnikov (aka Bishop), polimax@mail.ru
5  ******************************************************************************
6 * Copyright (C) 2013 Dmitry Baryshnikov
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  ****************************************************************************/
21 #pragma once
22 
23 #include "wxgis/carto/carto.h"
24 
25 class wxGISLayer;
26 
31 class WXDLLIMPEXP_GIS_CRT wxGISRenderer :
32  public wxObject
33 {
34  DECLARE_ABSTRACT_CLASS(wxGISRenderer)
35 public:
36  wxGISRenderer(wxGISLayer* pwxGISLayer = NULL);
37  virtual ~wxGISRenderer(void);
38  virtual bool CanRender(wxGISLayer* const pwxGISLayer) const;
39  virtual wxString GetName(void) const;
40  virtual wxGISEnumRendererType GetType(void) const;
41  virtual bool Draw(wxGISEnumDrawPhase DrawPhase, wxGISDisplay* const pDisplay, ITrackCancel* const pTrackCancel = NULL) = 0;
42  virtual bool Apply(ITrackCancel* const pTrackCancel = NULL) = 0;
43 protected:
44  wxGISLayer* const m_pwxGISLayer;
45 };
Definition: gisdisplay.h:43
A TrackCancel interface class.
Definition: core.h:144
Definition: layer.h:35
The base class for renderers.
Definition: renderer.h:31