1
/***************************************************************************
2
qgsrasterviewport.h - description
4
begin : Fri Jun 28 2002
5
copyright : (C) 2005 by T.Sutton
6
email : tim@linfiniti.com
7
***************************************************************************/
9
/***************************************************************************
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
16
***************************************************************************/
17
/* $Id: qgsrasterlayer.h 4380 2005-12-26 23:37:50Z timlinux $ */
18
#ifndef QGSRASTERVIEWPORT_H
19
#define QGSRASTERVIEWPORT_H
24
* This class provides details of the viewable area that a raster will
27
* The qgsrasterviewport class sets up a viewport / area of interest to be used
28
* by rasterlayer draw functions at the point of drawing to the screen.
31
struct QgsRasterViewPort
33
/** \brief The offset from the left hand edge of the raster for the rectangle that will be drawn to screen.
34
* TODO Check this explanation is correc!*/
36
float rectXOffsetFloat;
37
/** \brief The offset from the bottom edge of the raster for the rectangle that will be drawn to screen.
38
* TODO Check this explanation is correc!*/
40
float rectYOffsetFloat;
41
/** \brief Lower left X dimension of clipped raster image in raster pixel space.
42
* RasterIO will do the scaling for us, so for example, if the user is zoomed in a long way, there may only
43
* be e.g. 5x5 pixels retrieved from the raw raster data, but rasterio will seamlessly scale the up to
44
* whatever the screen coordinates are (e.g. a 600x800 display window) */
46
/** \brief Top Right X dimension of clipped raster image in raster pixel space.
47
* RasterIO will do the scaling for us, so for example, if the user is zoomed in a long way, there may only
48
* be e.g. 5x5 pixels retrieved from the raw raster data, but rasterio will seamlessly scale the up to
49
* whatever the screen coordinates are (e.g. a 600x800 display window) */
51
/** \brief Lower left Y dimension of clipped raster image in raster pixel space.
52
* RasterIO will do the scaling for us, so for example, if the user is zoomed in a long way, there may only
53
* be e.g. 5x5 pixels retrieved from the raw raster data, but rasterio will seamlessly scale the up to
54
* whatever the screen coordinates are (e.g. a 600x800 display window) */
56
/** \brief Top Right X dimension of clipped raster image in raster pixel space.
57
* RasterIO will do the scaling for us, so for example, if the user is zoomed in a long way, there may only
58
* be e.g. 5x5 pixels retrieved from the raw raster data, but rasterio will seamlessly scale the up to
59
* whatever the screen coordinates are (e.g. a 600x800 display window) */
61
/** \brief Distance in pixels from clippedXMin to clippedXMax. */
63
/** \brief Distance in pixels from clippedYMin to clippedYMax */
65
/** \brief Coordinate (in geographic coordinate system) of top left corner of the part of the raster that
66
* is to be rendered.*/
67
QgsPoint topLeftPoint;
68
/** \brief Coordinate (in geographic coordinate system) of bottom right corner of the part of the raster that
69
* is to be rendered.*/
70
QgsPoint bottomRightPoint;
71
/** \brief Distance in map units from left edge to right edge for the part of the raster that
72
* is to be rendered.*/
74
/** \brief Distance in map units from bottom edge to top edge for the part of the raster that
75
* is to be rendered.*/
79
#endif //QGSRASTERVIEWPORT_H