This file is indexed.

/usr/include/qgis/qgsraster.h is in libqgis-dev 2.18.17+dfsg-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/***************************************************************************
              qgsraster.h - Raster namespace
     --------------------------------------
    Date                 : Apr 2013
    Copyright            : (C) 2013 by Radim Blazek
    email                : radim dot blazek at gmail dot com
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program 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.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef QGSRASTER_H
#define QGSRASTER_H

#include <QString>

#include "qgis.h"

/** \ingroup core
 * Raster namespace.
 */
class CORE_EXPORT QgsRaster
{
  public:
    // This is modified copy of GDALColorInterp
    enum ColorInterpretation
    {
      UndefinedColorInterpretation = 0,
      /** Greyscale */                                      GrayIndex = 1,
      /** Paletted (see associated color table) */          PaletteIndex = 2, // indexed color table
      /** Red band of RGBA image */                         RedBand = 3,
      /** Green band of RGBA image */                       GreenBand = 4,
      /** Blue band of RGBA image */                        BlueBand = 5,
      /** Alpha (0=transparent, 255=opaque) */              AlphaBand = 6,
      /** Hue band of HLS image */                          HueBand = 7,
      /** Saturation band of HLS image */                   SaturationBand = 8,
      /** Lightness band of HLS image */                    LightnessBand = 9,
      /** Cyan band of CMYK image */                        CyanBand = 10,
      /** Magenta band of CMYK image */                     MagentaBand = 11,
      /** Yellow band of CMYK image */                      YellowBand = 12,
      /** Black band of CMLY image */                       BlackBand = 13,
      /** Y Luminance */                                    YCbCr_YBand = 14,
      /** Cb Chroma */                                      YCbCr_CbBand = 15,
      /** Cr Chroma */                                      YCbCr_CrBand = 16,
      /** Continuous palette, QGIS addition, GRASS */       ContinuousPalette = 17
    };

    enum IdentifyFormat
    {
      IdentifyFormatUndefined =      0,
      IdentifyFormatValue     =      1, // numerical pixel value
      IdentifyFormatText      = 1 << 1, // WMS text
      IdentifyFormatHtml      = 1 << 2, // WMS HTML
      IdentifyFormatFeature   = 1 << 3, // WMS GML/JSON -> feature
    };

    // Progress types
    enum RasterProgressType
    {
      ProgressHistogram = 0,
      ProgressPyramids  = 1,
      ProgressStatistics = 2
    };

    enum RasterBuildPyramids
    {
      PyramidsFlagNo = 0,
      PyramidsFlagYes = 1,
      PyramidsCopyExisting = 2
    };

    enum RasterPyramidsFormat
    {
      PyramidsGTiff = 0,
      PyramidsInternal = 1,
      PyramidsErdas = 2
    };

    /** \brief Contrast enhancement limits */
    enum ContrastEnhancementLimits
    {
      ContrastEnhancementNone,
      ContrastEnhancementMinMax,
      ContrastEnhancementStdDev,
      ContrastEnhancementCumulativeCut
    };

    /** \brief This enumerator describes the different kinds of drawing we can do */
    enum DrawingStyle
    {
      UndefinedDrawingStyle,
      SingleBandGray,                 // a single band image drawn as a range of gray colors
      SingleBandPseudoColor,          // a single band image drawn using a pseudocolor algorithm
      PalettedColor,                  // a "Palette" image drawn using color table
      PalettedSingleBandGray,         // a "Palette" layer drawn in gray scale
      PalettedSingleBandPseudoColor,  // a "Palette" layerdrawn using a pseudocolor algorithm
      PalettedMultiBandColor,         // currently not supported
      MultiBandSingleBandGray,        // a layer containing 2 or more bands, but a single band drawn as a range of gray colors
      MultiBandSingleBandPseudoColor, // a layer containing 2 or more bands, but a single band drawn using a pseudocolor algorithm
      MultiBandColor,                 // a layer containing 2 or more bands, mapped to RGB color space. In the case of a multiband with only two bands, one band will be mapped to more than one color.
      SingleBandColorDataStyle        // ARGB values rendered directly
    };

    static QString contrastEnhancementLimitsAsString( QgsRaster::ContrastEnhancementLimits theLimits );
    static ContrastEnhancementLimits contrastEnhancementLimitsFromString( const QString& theLimits );

    /** Check if the specified value is representable in the given data type.
     * Supported are numerical types Byte, UInt16, Int16, UInt32, Int32, Float32, Float64.
     * @param value
     * @param dataType
     * @note added in version 2.16
     *  @note not available in Python bindings */
    static bool isRepresentableValue( double value, QGis::DataType dataType );

    /** Get value representable by given data type.
     * Supported are numerical types Byte, UInt16, Int16, UInt32, Int32, Float32, Float64.
     * This is done through C casting, so you have to be sure that the provided value is
     * representable in the output data type. This can be checked with isRepresentableValue().
     * @param value
     * @param dataType
     * @note added in version 2.1 */
    static double representableValue( double value, QGis::DataType dataType );
};

#endif