/libs/hwui/GammaFontRenderer.h
http://github.com/CyanogenMod/android_frameworks_base · C Header · 73 lines · 43 code · 15 blank · 15 comment · 4 complexity · 295212f9366a3bd712bf5f6a3c97c196 MD5 · raw file
- /*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- #ifndef ANDROID_HWUI_GAMMA_FONT_RENDERER_H
- #define ANDROID_HWUI_GAMMA_FONT_RENDERER_H
- #include "FontRenderer.h"
- #include "Program.h"
- #include <SkPaint.h>
- #include <utils/String8.h>
- namespace android {
- namespace uirenderer {
- class GammaFontRenderer {
- public:
- GammaFontRenderer();
- void clear() {
- mRenderer.reset(nullptr);
- }
- void flush() {
- if (mRenderer) {
- mRenderer->flushLargeCaches();
- }
- }
- FontRenderer& getFontRenderer() {
- if (!mRenderer) {
- mRenderer.reset(new FontRenderer(&mGammaTable[0]));
- }
- return *mRenderer;
- }
- void dumpMemoryUsage(String8& log) const {
- if (mRenderer) {
- mRenderer->dumpMemoryUsage(log);
- } else {
- log.appendFormat("FontRenderer doesn't exist.\n");
- }
- }
- uint32_t getSize() const {
- return mRenderer ? mRenderer->getSize() : 0;
- }
- void endPrecaching();
- private:
- std::unique_ptr<FontRenderer> mRenderer;
- uint8_t mGammaTable[256];
- };
- }; // namespace uirenderer
- }; // namespace android
- #endif // ANDROID_HWUI_GAMMA_FONT_RENDERER_H