Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Unified Diff: skia/animator/SkBuildCondensedInfo.cpp

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « skia/animator/SkBoundable.cpp ('k') | skia/animator/SkCondensedDebug.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: skia/animator/SkBuildCondensedInfo.cpp
===================================================================
--- skia/animator/SkBuildCondensedInfo.cpp (revision 16859)
+++ skia/animator/SkBuildCondensedInfo.cpp (working copy)
@@ -1,292 +0,0 @@
-/* libs/graphics/animator/SkBuildCondensedInfo.cpp
-**
-** Copyright 2006, 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.
-*/
-
-#include "SkTypes.h"
-#if defined SK_BUILD_CONDENSED
-#include "SkMemberInfo.h"
-#if SK_USE_CONDENSED_INFO == 1
-#error "SK_USE_CONDENSED_INFO must be zero to build condensed info"
-#endif
-#if !defined SK_BUILD_FOR_WIN32
-#error "SK_BUILD_FOR_WIN32 must be defined to build condensed info"
-#endif
-#include "SkDisplayType.h"
-#include "SkIntArray.h"
-#include <stdio.h>
-
-SkTDMemberInfoArray gInfos;
-SkTDIntArray gInfosCounts;
-SkTDDisplayTypesArray gInfosTypeIDs;
-SkTDMemberInfoArray gUnknowns;
-SkTDIntArray gUnknownsCounts;
-
-static void AddInfo(SkDisplayTypes type, const SkMemberInfo* info, int infoCount) {
- SkASSERT(gInfos[type] == NULL);
- gInfos[type] = info;
- gInfosCounts[type] = infoCount;
- *gInfosTypeIDs.append() = type;
- size_t allStrs = 0;
- for (int inner = 0; inner < infoCount; inner++) {
- SkASSERT(info[inner].fCount < 256);
- int offset = (int) info[inner].fOffset;
- SkASSERT(offset < 128 && offset > -129);
- SkASSERT(allStrs < 256);
- if (info[inner].fType == SkType_BaseClassInfo) {
- const SkMemberInfo* innerInfo = (const SkMemberInfo*) info[inner].fName;
- if (gUnknowns.find(innerInfo) == -1) {
- *gUnknowns.append() = innerInfo;
- *gUnknownsCounts.append() = info[inner].fCount;
- }
- }
- if (info[inner].fType != SkType_BaseClassInfo && info[inner].fName)
- allStrs += strlen(info[inner].fName);
- allStrs += 1;
- SkASSERT(info[inner].fType < 256);
- }
-}
-
-static void WriteInfo(FILE* condensed, const SkMemberInfo* info, int infoCount,
- const char* typeName, bool draw, bool display) {
- fprintf(condensed, "static const char g%sStrings[] = \n", typeName);
- int inner;
- // write strings
- for (inner = 0; inner < infoCount; inner++) {
- const char* name = (info[inner].fType != SkType_BaseClassInfo && info[inner].fName) ?
- info[inner].fName : "";
- const char* zero = inner < infoCount - 1 ? "\\0" : "";
- fprintf(condensed, "\t\"%s%s\"\n", name, zero);
- }
- fprintf(condensed, ";\n\nstatic const SkMemberInfo g%s", draw ? "Draw" : display ? "Display" : "");
- fprintf(condensed, "%sInfo[] = {", typeName);
- size_t nameOffset = 0;
- // write info tables
- for (inner = 0; inner < infoCount; inner++) {
- size_t offset = info[inner].fOffset;
- if (info[inner].fType == SkType_BaseClassInfo) {
- offset = (size_t) gInfos.find((const SkMemberInfo* ) info[inner].fName);
- SkASSERT((int) offset >= 0);
- offset = gInfosTypeIDs.find((SkDisplayTypes) offset);
- SkASSERT((int) offset >= 0);
- }
- fprintf(condensed, "\n\t{%d, %d, %d, %d}", nameOffset, offset,
- info[inner].fType, info[inner].fCount);
- if (inner < infoCount - 1)
- putc(',', condensed);
- if (info[inner].fType != SkType_BaseClassInfo && info[inner].fName)
- nameOffset += strlen(info[inner].fName);
- nameOffset += 1;
- }
- fprintf(condensed, "\n};\n\n");
-}
-
-static void Get3DName(char* scratch, const char* name) {
- if (strncmp("skia3d:", name, sizeof("skia3d:") - 1) == 0) {
- strcpy(scratch, "3D_");
- scratch[3]= name[7] & ~0x20;
- strcpy(&scratch[4], &name[8]);
- } else {
- scratch[0] = name[0] & ~0x20;
- strcpy(&scratch[1], &name[1]);
- }
-}
-
-int type_compare(const void* a, const void* b) {
- SkDisplayTypes first = *(SkDisplayTypes*) a;
- SkDisplayTypes second = *(SkDisplayTypes*) b;
- return first < second ? -1 : first == second ? 0 : 1;
-}
-
-void SkDisplayType::BuildCondensedInfo(SkAnimateMaker* maker) {
- gInfos.setCount(kNumberOfTypes);
- memset(gInfos.begin(), 0, sizeof(gInfos[0]) * kNumberOfTypes);
- gInfosCounts.setCount(kNumberOfTypes);
- memset(gInfosCounts.begin(), -1, sizeof(gInfosCounts[0]) * kNumberOfTypes);
- // check to see if it is condensable
- int index, infoCount;
- for (index = 0; index < kTypeNamesSize; index++) {
- const SkMemberInfo* info = GetMembers(maker, gTypeNames[index].fType, &infoCount);
- if (info == NULL)
- continue;
- AddInfo(gTypeNames[index].fType, info, infoCount);
- }
- const SkMemberInfo* extraInfo =
- SkDisplayType::GetMembers(maker, SkType_3D_Point, &infoCount);
- AddInfo(SkType_Point, extraInfo, infoCount);
- AddInfo(SkType_3D_Point, extraInfo, infoCount);
-// int baseInfos = gInfos.count();
- do {
- SkTDMemberInfoArray oldRefs = gUnknowns;
- SkTDIntArray oldRefCounts = gUnknownsCounts;
- gUnknowns.reset();
- gUnknownsCounts.reset();
- for (index = 0; index < oldRefs.count(); index++) {
- const SkMemberInfo* info = oldRefs[index];
- if (gInfos.find(info) == -1) {
- int typeIndex = 0;
- for (; typeIndex < kNumberOfTypes; typeIndex++) {
- const SkMemberInfo* temp = SkDisplayType::GetMembers(
- maker, (SkDisplayTypes) typeIndex, NULL);
- if (temp == info)
- break;
- }
- SkASSERT(typeIndex < kNumberOfTypes);
- AddInfo((SkDisplayTypes) typeIndex, info, oldRefCounts[index]);
- }
- }
- } while (gUnknowns.count() > 0);
- qsort(gInfosTypeIDs.begin(), gInfosTypeIDs.count(), sizeof(gInfosTypeIDs[0]), &type_compare);
-#ifdef SK_DEBUG
- FILE* condensed = fopen("../../src/animator/SkCondensedDebug.cpp", "w+");
- fprintf(condensed, "#include \"SkTypes.h\"\n");
- fprintf(condensed, "#ifdef SK_DEBUG\n");
-#else
- FILE* condensed = fopen("../../src/animator/SkCondensedRelease.cpp", "w+");
- fprintf(condensed, "#include \"SkTypes.h\"\n");
- fprintf(condensed, "#ifdef SK_RELEASE\n");
-#endif
- // write header
- fprintf(condensed, "// This file was automatically generated.\n");
- fprintf(condensed, "// To change it, edit the file with the matching debug info.\n");
- fprintf(condensed, "// Then execute SkDisplayType::BuildCondensedInfo() to "
- "regenerate this file.\n\n");
- // write name of memberInfo
- int typeNameIndex = 0;
- int unknown = 1;
- for (index = 0; index < gInfos.count(); index++) {
- const SkMemberInfo* info = gInfos[index];
- if (info == NULL)
- continue;
- char scratch[64];
- bool drawPrefix, displayPrefix;
- while (gTypeNames[typeNameIndex].fType < index)
- typeNameIndex++;
- if (gTypeNames[typeNameIndex].fType == index) {
- Get3DName(scratch, gTypeNames[typeNameIndex].fName);
- drawPrefix = gTypeNames[typeNameIndex].fDrawPrefix;
- displayPrefix = gTypeNames[typeNameIndex].fDisplayPrefix;
- } else {
- sprintf(scratch, "Unknown%d", unknown++);
- drawPrefix = displayPrefix = false;
- }
- WriteInfo(condensed, info, gInfosCounts[index], scratch, drawPrefix, displayPrefix);
- }
- // write array of table pointers
-// start here;
- fprintf(condensed, "static const SkMemberInfo* const gInfoTables[] = {");
- typeNameIndex = 0;
- unknown = 1;
- for (index = 0; index < gInfos.count(); index++) {
- const SkMemberInfo* info = gInfos[index];
- if (info == NULL)
- continue;
- char scratch[64];
- bool drawPrefix, displayPrefix;
- while (gTypeNames[typeNameIndex].fType < index)
- typeNameIndex++;
- if (gTypeNames[typeNameIndex].fType == index) {
- Get3DName(scratch, gTypeNames[typeNameIndex].fName);
- drawPrefix = gTypeNames[typeNameIndex].fDrawPrefix;
- displayPrefix = gTypeNames[typeNameIndex].fDisplayPrefix;
- } else {
- sprintf(scratch, "Unknown%d", unknown++);
- drawPrefix = displayPrefix = false;
- }
- fprintf(condensed, "\n\tg");
- if (drawPrefix)
- fprintf(condensed, "Draw");
- if (displayPrefix)
- fprintf(condensed, "Display");
- fprintf(condensed, "%sInfo", scratch);
- if (index < gInfos.count() - 1)
- putc(',', condensed);
- }
- fprintf(condensed, "\n};\n\n");
- // write the array of number of entries in the info table
- fprintf(condensed, "static const unsigned char gInfoCounts[] = {\n\t");
- int written = 0;
- for (index = 0; index < gInfosCounts.count(); index++) {
- int count = gInfosCounts[index];
- if (count < 0)
- continue;
- if (written > 0)
- putc(',', condensed);
- if (written % 20 == 19)
- fprintf(condensed, "\n\t");
- fprintf(condensed, "%d",count);
- written++;
- }
- fprintf(condensed, "\n};\n\n");
- // write array of type ids table entries correspond to
- fprintf(condensed, "static const unsigned char gTypeIDs[] = {\n\t");
- int typeIDCount = 0;
- typeNameIndex = 0;
- unknown = 1;
- for (index = 0; index < gInfosCounts.count(); index++) {
- const SkMemberInfo* info = gInfos[index];
- if (info == NULL)
- continue;
- typeIDCount++;
- char scratch[64];
- while (gTypeNames[typeNameIndex].fType < index)
- typeNameIndex++;
- if (gTypeNames[typeNameIndex].fType == index) {
- Get3DName(scratch, gTypeNames[typeNameIndex].fName);
- } else
- sprintf(scratch, "Unknown%d", unknown++);
- fprintf(condensed, "%d%c // %s\n\t", index,
- index < gInfosCounts.count() ? ',' : ' ', scratch);
- }
- fprintf(condensed, "\n};\n\n");
- fprintf(condensed, "static const int kTypeIDs = %d;\n\n", typeIDCount);
- // write the array of string pointers
- fprintf(condensed, "static const char* const gInfoNames[] = {");
- typeNameIndex = 0;
- unknown = 1;
- written = 0;
- for (index = 0; index < gInfosCounts.count(); index++) {
- const SkMemberInfo* info = gInfos[index];
- if (info == NULL)
- continue;
- if (written > 0)
- putc(',', condensed);
- written++;
- fprintf(condensed, "\n\tg");
- char scratch[64];
- while (gTypeNames[typeNameIndex].fType < index)
- typeNameIndex++;
- if (gTypeNames[typeNameIndex].fType == index) {
- Get3DName(scratch, gTypeNames[typeNameIndex].fName);
- } else
- sprintf(scratch, "Unknown%d", unknown++);
- fprintf(condensed, "%sStrings", scratch);
- }
- fprintf(condensed, "\n};\n\n");
- fprintf(condensed, "#endif\n");
- fclose(condensed);
- gInfos.reset();
- gInfosCounts.reset();
- gInfosTypeIDs.reset();
- gUnknowns.reset();
- gUnknownsCounts.reset();
-}
-
-#elif defined SK_DEBUG
-#include "SkDisplayType.h"
-void SkDisplayType::BuildCondensedInfo(SkAnimateMaker* ) {}
-#endif
-
-
« no previous file with comments | « skia/animator/SkBoundable.cpp ('k') | skia/animator/SkCondensedDebug.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698