LCOV - app.info - gfx/skia/include/core/SkGlobals.h

LCOV - code coverage report
| Current view: | directory - gfx/skia/include/core - SkGlobals.h (source / functions) |  | Found | Hit | Coverage |
| Test: | app.info | Lines: | 1 | 1 | 100.0 %
| Date: | 2012-07-07 | Functions: | 2 | 2 | 100.0 %

           1                 :
           2                 : /*
           3                 :  * Copyright 2006 The Android Open Source Project
           4                 :  *
           5                 :  * Use of this source code is governed by a BSD-style license that can be
           6                 :  * found in the LICENSE file.
           7                 :  */
           8                 :
           9                 :
          10                 : #ifndef SkGlobals_DEFINED
          11                 : #define SkGlobals_DEFINED
          12                 :
          13                 : #include "SkThread.h"
          14                 :
          15                 : class SkGlobals {
          16                 : public:
          17                 :     class Rec {
          18                 :     public:
          19                 :         virtual ~Rec();
          20                 :     private:
          21                 :         Rec*        fNext;
          22                 :         uint32_t    fTag;
          23                 :
          24                 :         friend class SkGlobals;
          25                 :     };
          26                 :
          27                 :     /** Look for a matching Rec for the specified tag. If one is found, return it.
          28                 :         If one is not found, if create_proc is null, return null, else
          29                 :         call the proc, and if it returns a Rec, add it to the global list
          30                 :         and return it.
          31                 :
          32                 :         create_proc can NOT call back into SkGlobals::Find (it would deadlock)
          33                 :     */
          34                 :     static Rec* Find(uint32_t tag, Rec* (*create_proc)());
          35                 :     /** Helper for Find, when you want to assert that the Rec is already in the list
          36                 :     */
          37                 :     static Rec* Get(uint32_t tag)
          38                 :     {
          39                 :         Rec* rec = SkGlobals::Find(tag, NULL);
          40                 :         SkASSERT(rec);
          41                 :         return rec;
          42                 :     }
          43                 :
          44                 :     // used by porting layer
          45            2951 :     struct BootStrap {
          46                 :         SkMutex fMutex;
          47                 :         Rec*    fHead;
          48                 :     };
          49                 :
          50                 : private:
          51                 :     static void Init();
          52                 :     static void Term();
          53                 :     friend class SkGraphics;
          54                 :
          55                 :     //  This last function is implemented in the porting layer
          56                 :     static BootStrap& GetBootStrap();
          57                 : };
          58                 :
          59                 : #endif
          60                 :

Generated by: LCOV version 1.7