/cocos2dx/platform/third_party/blackberry/include/grskia/SkUserConfig.h
https://bitbucket.org/Tsiannian/cocos2d-x · C++ Header · 160 lines · 11 code · 28 blank · 121 comment · 0 complexity · ad04a8b7e3f0d2a5604601891c60fb02 MD5 · raw file
- /*
- * Copyright (C) 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.
- */
-
- #ifndef SkUserConfig_DEFINED
- #define SkUserConfig_DEFINED
-
- /* SkTypes.h, the root of the public header files, does the following trick:
-
- #include "SkPreConfig.h"
- #include "SkUserConfig.h"
- #include "SkPostConfig.h"
-
- SkPreConfig.h runs first, and it is responsible for initializing certain
- skia defines.
-
- SkPostConfig.h runs last, and its job is to just check that the final
- defines are consistent (i.e. that we don't have mutually conflicting
- defines).
-
- SkUserConfig.h (this file) runs in the middle. It gets to change or augment
- the list of flags initially set in preconfig, and then postconfig checks
- that everything still makes sense.
-
- Below are optional defines that add, subtract, or change default behavior
- in Skia. Your port can locally edit this file to enable/disable flags as
- you choose, or these can be delared on your command line (i.e. -Dfoo).
-
- By default, this include file will always default to having all of the flags
- commented out, so including it will have no effect.
- */
-
- ///////////////////////////////////////////////////////////////////////////////
-
- /* Scalars (the fractional value type in skia) can be implemented either as
- floats or 16.16 integers (fixed). Exactly one of these two symbols must be
- defined.
- */
- //#define SK_SCALAR_IS_FLOAT
- //#define SK_SCALAR_IS_FIXED
-
-
- /* Somewhat independent of how SkScalar is implemented, Skia also wants to know
- if it can use floats at all. Naturally, if SK_SCALAR_IS_FLOAT is defined,
- SK_CAN_USE_FLOAT must be too; but if scalars are fixed, SK_CAN_USE_FLOAT
- can go either way.
- */
- //#define SK_CAN_USE_FLOAT
-
- /* For some performance-critical scalar operations, skia will optionally work
- around the standard float operators if it knows that the CPU does not have
- native support for floats. If your environment uses software floating point,
- define this flag.
- */
- //#define SK_SOFTWARE_FLOAT
-
-
- /* Skia has lots of debug-only code. Often this is just null checks or other
- parameter checking, but sometimes it can be quite intrusive (e.g. check that
- each 32bit pixel is in premultiplied form). This code can be very useful
- during development, but will slow things down in a shipping product.
-
- By default, these mutually exclusive flags are defined in SkPreConfig.h,
- based on the presence or absence of NDEBUG, but that decision can be changed
- here.
- */
- //#define SK_DEBUG
- //#define SK_RELEASE
-
-
- /* If, in debugging mode, Skia needs to stop (presumably to invoke a debugger)
- it will call SK_CRASH(). If this is not defined it, it is defined in
- SkPostConfig.h to write to an illegal address
- */
- //#define SK_CRASH() *(int *)(uintptr_t)0 = 0
-
-
- /* preconfig will have attempted to determine the endianness of the system,
- but you can change these mutually exclusive flags here.
- */
- //#define SK_CPU_BENDIAN
- //#define SK_CPU_LENDIAN
-
-
- /* Some compilers don't support long long for 64bit integers. If yours does
- not, define this to the appropriate type.
- */
- //#define SkLONGLONG int64_t
-
-
- /* Some envorinments do not suport writable globals (eek!). If yours does not,
- define this flag.
- */
- //#define SK_USE_RUNTIME_GLOBALS
-
-
- /* To write debug messages to a console, skia will call SkDebugf(...) following
- printf conventions (e.g. const char* format, ...). If you want to redirect
- this to something other than printf, define yours here
- */
- //#define SkDebugf(...) MyFunction(__VA_ARGS__)
-
- /**
- * Used only for lcdtext, define this to pack glyphs using 8 bits per component
- * instead of 5-6-5. This can increase fidelity with the native font scaler,
- * but doubles the RAM used by the font cache.
- */
- //#define SK_SUPPORT_888_TEXT
-
- /* If defined, use CoreText instead of ATSUI on OS X.
- */
- //#define SK_USE_MAC_CORE_TEXT
-
-
- /* If zlib is available and you want to support the flate compression
- algorithm (used in PDF generation), define SK_ZLIB_INCLUDE to be the
- include path.
- */
- //#define SK_ZLIB_INCLUDE <zlib.h>
-
- /* Define this to allow PDF scalars above 32k. The PDF/A spec doesn't allow
- them, but modern PDF interpreters should handle them just fine.
- */
- //#define SK_ALLOW_LARGE_PDF_SCALARS
-
- /* Define this to remove dimension checks on bitmaps. Not all blits will be
- correct yet, so this is mostly for debugging the implementation.
- */
- //#define SK_ALLOW_OVER_32K_BITMAPS
-
- /* If SK_DEBUG is defined, then you can optionally define SK_SUPPORT_UNITTEST
- which will run additional self-tests at startup. These can take a long time,
- so this flag is optional.
- */
- #ifdef SK_DEBUG
- //#define SK_SUPPORT_UNITTEST
- #endif
-
- /* Change the ordering to work in X windows.
- */
- #ifdef SK_SAMPLES_FOR_X
- #define SK_R32_SHIFT 16
- #define SK_G32_SHIFT 8
- #define SK_B32_SHIFT 0
- #define SK_A32_SHIFT 24
- #endif
-
- #endif