13f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com 23f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com/* 33f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com * Copyright 2010 Google Inc. 43f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com * 53f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com * Use of this source code is governed by a BSD-style license that can be 63f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com * found in the LICENSE file. 73f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com */ 83f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com 93f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com 103f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com 113f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com#ifndef GrIndexBuffer_DEFINED 123f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com#define GrIndexBuffer_DEFINED 133f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com 143f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com#include "GrGeometryBuffer.h" 153f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com 163f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.comclass GrIndexBuffer : public GrGeometryBuffer { 173f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.compublic: 1855dcfe8e57a379c114d711fb5e7fc740d837e76bbsalomon@google.com /** 1955dcfe8e57a379c114d711fb5e7fc740d837e76bbsalomon@google.com * Retrieves the maximum number of quads that could be rendered 2055dcfe8e57a379c114d711fb5e7fc740d837e76bbsalomon@google.com * from the index buffer (using kTriangles_GrPrimitiveType). 2155dcfe8e57a379c114d711fb5e7fc740d837e76bbsalomon@google.com * @return the maximum number of quads using full size of index buffer. 2255dcfe8e57a379c114d711fb5e7fc740d837e76bbsalomon@google.com */ 2355dcfe8e57a379c114d711fb5e7fc740d837e76bbsalomon@google.com int maxQuads() const { 2455dcfe8e57a379c114d711fb5e7fc740d837e76bbsalomon@google.com return this->sizeInBytes() / (sizeof(uint16_t) * 6); 2555dcfe8e57a379c114d711fb5e7fc740d837e76bbsalomon@google.com } 263f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.comprotected: 27407c7876a1c8fba9e582a3e48e12ca63e13d99febsalomon@google.com GrIndexBuffer(GrGpu* gpu, bool isWrapped, size_t sizeInBytes, bool dynamic, bool cpuBacked) 28407c7876a1c8fba9e582a3e48e12ca63e13d99febsalomon@google.com : INHERITED(gpu, isWrapped, sizeInBytes, dynamic, cpuBacked) {} 293f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.comprivate: 303f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com typedef GrGeometryBuffer INHERITED; 313f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com}; 323f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com 333f30e3a41fc16816105e28e0d4c241eff6d391b4bsalomon@google.com#endif 34