This file is indexed.

/usr/include/qgis/qgseffectstack.h is in libqgis-dev 2.14.11+dfsg-3+deb9u1.

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
132
133
134
135
/***************************************************************************
                             qgseffectstack.h
                             ----------------
    begin                : December 2014
    copyright            : (C) 2014 Nyall Dawson
    email                : nyall dot dawson 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 QGSEFFECTSTACK_H
#define QGSEFFECTSTACK_H

#include "qgspainteffect.h"

/** \ingroup core
 * \class QgsEffectStack
 * \brief A paint effect which consists of a stack of other chained paint effects
 *
 * Effect stacks can be used to apply multiple paint effects to a QPicture. For
 * instance, an effect stack may blur then apply a drop shadow.
 *
 * The way in which effects apply to a stack is controlled by the effect's drawMode.
 * Effects can either render their results onto the destination paint device,
 * or just modify the source picture which is drawn by subsequent effects in the
 * stack. For instance, a blur effect with a Modifier drawMode will blur the source
 * picture for the following drop shadow effect without actually drawing the blurred
 * picture to the paint device. If the blur effect had a Render drawMode then the
 * blurred picture will be drawn on the paint device, but the following drop shadow
 * effect will be drawn using the original picture, not the blurred version.
 *
 * \note Added in version 2.9
 */

class CORE_EXPORT QgsEffectStack : public QgsPaintEffect
{

  public:

    /** Creates a new QgsEffectStack effect. This method ignores
     * the map parameter, and always returns an empty effect stack.
     * @param map unused encoded properties string map
     * @returns new QgsEffectStack
     */
    static QgsPaintEffect* create( const QgsStringMap& map );

    QgsEffectStack();
    QgsEffectStack( const QgsEffectStack& other );

    /** Creates a new QgsEffectStack effect from a single initial effect.
     * @param effect initial effect to add to the stack. The effect will
     * be cloned, so ownership is not transferred to the stack.
     * @returns new QgsEffectStack containing initial effect
     */
    explicit QgsEffectStack( const QgsPaintEffect& effect );

    virtual ~QgsEffectStack();

    virtual QString type() const override { return QString( "effectStack" ); }
    virtual QgsEffectStack* clone() const override;
    virtual bool saveProperties( QDomDocument& doc, QDomElement& element ) const override;
    virtual bool readProperties( const QDomElement& element ) override;

    /** Unused for QgsEffectStack, will always return an empty string map
     */
    virtual QgsStringMap properties() const override;

    /** Unused for QgsEffectStack, props parameter will be ignored
     */
    virtual void readProperties( const QgsStringMap& props ) override;

    /** Appends an effect to the end of the stack.
     * @param effect QgsPaintEffect to append. Ownership of the effect will be
     * transferred to the stack object.
     * @see insertEffect
     */
    void appendEffect( QgsPaintEffect* effect );

    /** Inserts an effect at a specified index within the stack.
     * @param index position to insert the effect
     * @param effect QgsPaintEffect to insert. Ownership of the effect will be
     * transferred to the stack object.
     * @see appendEffect
     */
    bool insertEffect( const int index, QgsPaintEffect* effect );

    /** Replaces the effect at a specified position within the stack.
     * @param index position of effect to replace
     * @param effect QgsPaintEffect to replace with. Ownership of the effect will be
     * transferred to the stack object.
     */
    bool changeEffect( const int index, QgsPaintEffect *effect );

    /** Removes an effect from the stack and returns a pointer to it.
     * @param index position of effect to take
     */
    QgsPaintEffect* takeEffect( const int index );

    /** Returns a pointer to the list of effects currently contained by
     * the stack
     * @returns list of QgsPaintEffects within the stack
     */
    QList< QgsPaintEffect* >* effectList();

    /** Returns count of effects contained by the stack
     * @returns count of effects
     */
    int count() const { return mEffectList.count(); }

    /** Returns a pointer to the effect at a specified index within the stack
     * @param index position of effect to return
     * @returns QgsPaintEffect at specified position
     */
    QgsPaintEffect* effect( int index ) const;

    QgsEffectStack& operator=( const QgsEffectStack& rhs );

  protected:

    virtual void draw( QgsRenderContext& context ) override;

  private:

    QList< QgsPaintEffect* > mEffectList;

    void clearStack();
};

#endif // QGSEFFECTSTACK_H