| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006 The Android Open Source Project | 2 * Copyright (C) 2006 The Android Open Source Project |
| 3 * | 3 * |
| 4 * Licensed under the Apache License, Version 2.0 (the "License"); | 4 * Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 * you may not use this file except in compliance with the License. | 5 * you may not use this file except in compliance with the License. |
| 6 * You may obtain a copy of the License at | 6 * You may obtain a copy of the License at |
| 7 * | 7 * |
| 8 * http://www.apache.org/licenses/LICENSE-2.0 | 8 * http://www.apache.org/licenses/LICENSE-2.0 |
| 9 * | 9 * |
| 10 * Unless required by applicable law or agreed to in writing, software | 10 * Unless required by applicable law or agreed to in writing, software |
| 11 * distributed under the License is distributed on an "AS IS" BASIS, | 11 * distributed under the License is distributed on an "AS IS" BASIS, |
| 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 * See the License for the specific language governing permissions and | 13 * See the License for the specific language governing permissions and |
| 14 * limitations under the License. | 14 * limitations under the License. |
| 15 */ | 15 */ |
| 16 | 16 |
| 17 #ifndef SkUserConfig_DEFINED | 17 #ifndef SkUserConfig_DEFINED |
| 18 #define SkUserConfig_DEFINED | 18 #define SkUserConfig_DEFINED |
| 19 | 19 |
| 20 /* SkTypes.h, the root of the public header files, does the following trick: | 20 /* SkTypes.h, the root of the public header files, does the following trick: |
| 21 | 21 |
| 22 #include <SkPreConfig.h> | 22 #include <SkPreConfig.h> |
| 23 #include <SkUserConfig.h> | 23 #include <SkUserConfig.h> |
| 24 #include <SkPostConfig.h> | 24 #include <SkPostConfig.h> |
| 25 | 25 |
| 26 SkPreConfig.h runs first, and it is responsible for initializing certain | 26 SkPreConfig.h runs first, and it is responsible for initializing certain |
| 27 skia defines. | 27 skia defines. |
| 28 | 28 |
| 29 SkPostConfig.h runs last, and its job is to just check that the final | 29 SkPostConfig.h runs last, and its job is to just check that the final |
| 30 defines are consistent (i.e. that we don't have mutually conflicting | 30 defines are consistent (i.e. that we don't have mutually conflicting |
| 31 defines). | 31 defines). |
| 32 | 32 |
| 33 SkUserConfig.h (this file) runs in the middle. It gets to change or augment | 33 SkUserConfig.h (this file) runs in the middle. It gets to change or augment |
| 34 the list of flags initially set in preconfig, and then postconfig checks | 34 the list of flags initially set in preconfig, and then postconfig checks |
| 35 that everything still makes sense. | 35 that everything still makes sense. |
| 36 | 36 |
| 37 Below are optional defines that add, subtract, or change default behavior | 37 Below are optional defines that add, subtract, or change default behavior |
| 38 in Skia. Your port can locally edit this file to enable/disable flags as | 38 in Skia. Your port can locally edit this file to enable/disable flags as |
| 39 you choose, or these can be delared on your command line (i.e. -Dfoo). | 39 you choose, or these can be delared on your command line (i.e. -Dfoo). |
| 40 | 40 |
| 41 By default, this include file will always default to having all of the flags | 41 By default, this include file will always default to having all of the flags |
| 42 commented out, so including it will have no effect. | 42 commented out, so including it will have no effect. |
| (...skipping 21 matching lines...) Expand all Loading... |
| 64 native support for floats. If your environment uses software floating point, | 64 native support for floats. If your environment uses software floating point, |
| 65 define this flag. | 65 define this flag. |
| 66 */ | 66 */ |
| 67 //#define SK_SOFTWARE_FLOAT | 67 //#define SK_SOFTWARE_FLOAT |
| 68 | 68 |
| 69 | 69 |
| 70 /* Skia has lots of debug-only code. Often this is just null checks or other | 70 /* Skia has lots of debug-only code. Often this is just null checks or other |
| 71 parameter checking, but sometimes it can be quite intrusive (e.g. check that | 71 parameter checking, but sometimes it can be quite intrusive (e.g. check that |
| 72 each 32bit pixel is in premultiplied form). This code can be very useful | 72 each 32bit pixel is in premultiplied form). This code can be very useful |
| 73 during development, but will slow things down in a shipping product. | 73 during development, but will slow things down in a shipping product. |
| 74 | 74 |
| 75 By default, these mutually exclusive flags are defined in SkPreConfig.h, | 75 By default, these mutually exclusive flags are defined in SkPreConfig.h, |
| 76 based on the presence or absence of NDEBUG, but that decision can be changed | 76 based on the presence or absence of NDEBUG, but that decision can be changed |
| 77 here. | 77 here. |
| 78 */ | 78 */ |
| 79 //#define SK_DEBUG | 79 //#define SK_DEBUG |
| 80 //#define SK_RELEASE | 80 //#define SK_RELEASE |
| 81 | 81 |
| 82 | 82 |
| 83 /* If, in debugging mode, Skia needs to stop (presumably to invoke a debugger) | 83 /* If, in debugging mode, Skia needs to stop (presumably to invoke a debugger) |
| 84 it will call SK_CRASH(). If this is not defined it, it is defined in | 84 it will call SK_CRASH(). If this is not defined it, it is defined in |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 SK_API void SkDebugf_FileLine(const char* file, int line, bool fatal, | 179 SK_API void SkDebugf_FileLine(const char* file, int line, bool fatal, |
| 180 const char* format, ...); | 180 const char* format, ...); |
| 181 | 181 |
| 182 // Marking the debug print as "fatal" will cause a debug break, so we don't need | 182 // Marking the debug print as "fatal" will cause a debug break, so we don't need |
| 183 // a separate crash call here. | 183 // a separate crash call here. |
| 184 #define SK_DEBUGBREAK(cond) do { if (!(cond)) { \ | 184 #define SK_DEBUGBREAK(cond) do { if (!(cond)) { \ |
| 185 SkDebugf_FileLine(__FILE__, __LINE__, true, \ | 185 SkDebugf_FileLine(__FILE__, __LINE__, true, \ |
| 186 "%s:%d: failed assertion \"%s\"\n", \ | 186 "%s:%d: failed assertion \"%s\"\n", \ |
| 187 __FILE__, __LINE__, #cond); } } while (false) | 187 __FILE__, __LINE__, #cond); } } while (false) |
| 188 | 188 |
| 189 // All little-endian Chrome platforms agree: BGRA is the optimal pixel layout. | 189 #if !defined(ANDROID) // On Android, we use the skia default settings. |
| 190 #define SK_A32_SHIFT 24 | 190 #define SK_A32_SHIFT 24 |
| 191 #define SK_R32_SHIFT 16 | 191 #define SK_R32_SHIFT 16 |
| 192 #define SK_G32_SHIFT 8 | 192 #define SK_G32_SHIFT 8 |
| 193 #define SK_B32_SHIFT 0 | 193 #define SK_B32_SHIFT 0 |
| 194 #endif |
| 194 | 195 |
| 195 #if defined(SK_BUILD_FOR_WIN32) | 196 #if defined(SK_BUILD_FOR_WIN32) |
| 196 | 197 |
| 197 #define SK_BUILD_FOR_WIN | 198 #define SK_BUILD_FOR_WIN |
| 198 | 199 |
| 199 // VC8 doesn't support stdint.h, so we define those types here. | 200 // VC8 doesn't support stdint.h, so we define those types here. |
| 200 #define SK_IGNORE_STDINT_DOT_H | 201 #define SK_IGNORE_STDINT_DOT_H |
| 201 typedef signed char int8_t; | 202 typedef signed char int8_t; |
| 202 typedef unsigned char uint8_t; | 203 typedef unsigned char uint8_t; |
| 203 typedef short int16_t; | 204 typedef short int16_t; |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 // assertion. | 243 // assertion. |
| 243 #define SK_CRASH() SkDebugf_FileLine(__FILE__, __LINE__, true, "SK_CRASH") | 244 #define SK_CRASH() SkDebugf_FileLine(__FILE__, __LINE__, true, "SK_CRASH") |
| 244 | 245 |
| 245 // Uncomment the following line to forward skia trace events to Chrome | 246 // Uncomment the following line to forward skia trace events to Chrome |
| 246 // tracing. | 247 // tracing. |
| 247 // #define SK_USER_TRACE_INCLUDE_FILE "skia/ext/skia_trace_shim.h" | 248 // #define SK_USER_TRACE_INCLUDE_FILE "skia/ext/skia_trace_shim.h" |
| 248 | 249 |
| 249 // ===== End Chrome-specific definitions ===== | 250 // ===== End Chrome-specific definitions ===== |
| 250 | 251 |
| 251 #endif | 252 #endif |
| OLD | NEW |