180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru/*
380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * Copyright 2010 Google Inc.
480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru *
580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * Use of this source code is governed by a BSD-style license that can be
680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * found in the LICENSE file.
780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru */
880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#ifndef GrIndexBuffer_DEFINED
1280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#define GrIndexBuffer_DEFINED
1380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#include "GrGeometryBuffer.h"
1580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruclass GrIndexBuffer : public GrGeometryBuffer {
1780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Querupublic:
18d686ac77c2c485c4a3302eda9c1de597a6f8c568Derek Sollenberger    /**
19d686ac77c2c485c4a3302eda9c1de597a6f8c568Derek Sollenberger     * Retrieves the maximum number of quads that could be rendered
20d686ac77c2c485c4a3302eda9c1de597a6f8c568Derek Sollenberger     * from the index buffer (using kTriangles_GrPrimitiveType).
21d686ac77c2c485c4a3302eda9c1de597a6f8c568Derek Sollenberger     * @return the maximum number of quads using full size of index buffer.
22d686ac77c2c485c4a3302eda9c1de597a6f8c568Derek Sollenberger     */
23d686ac77c2c485c4a3302eda9c1de597a6f8c568Derek Sollenberger    int maxQuads() const {
24d686ac77c2c485c4a3302eda9c1de597a6f8c568Derek Sollenberger        return this->sizeInBytes() / (sizeof(uint16_t) * 6);
25d686ac77c2c485c4a3302eda9c1de597a6f8c568Derek Sollenberger    }
2680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruprotected:
27096defe64d408e54474fe19f418c95bf1a554fc7Derek Sollenberger    GrIndexBuffer(GrGpu* gpu, bool isWrapped, size_t sizeInBytes, bool dynamic, bool cpuBacked)
28096defe64d408e54474fe19f418c95bf1a554fc7Derek Sollenberger        : INHERITED(gpu, isWrapped, sizeInBytes, dynamic, cpuBacked) {}
2980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruprivate:
3080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    typedef GrGeometryBuffer INHERITED;
3180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru};
3280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
3380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#endif
34