Home | History | Annotate | Download | only in qt
      1 /*
      2     Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
      3 
      4     This library is free software; you can redistribute it and/or
      5     modify it under the terms of the GNU Library General Public
      6     License as published by the Free Software Foundation; either
      7     version 2 of the License, or (at your option) any later version.
      8 
      9     This library is distributed in the hope that it will be useful,
     10     but WITHOUT ANY WARRANTY; without even the implied warranty of
     11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     12     Library General Public License for more details.
     13 
     14     You should have received a copy of the GNU Library General Public License
     15     along with this library; see the file COPYING.LIB.  If not, write to
     16     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
     17     Boston, MA 02110-1301, USA.
     18 
     19     This class provides all functionality needed for loading images, style sheets and html
     20     pages from the web. It has a memory cache for these objects.
     21 */
     22 #ifndef FontCustomPlatformData_h
     23 #define FontCustomPlatformData_h
     24 
     25 #include "FontOrientation.h"
     26 #include "FontRenderingMode.h"
     27 #include "FontWidthVariant.h"
     28 #include "TextOrientation.h"
     29 #include <wtf/FastAllocBase.h>
     30 #include <wtf/Forward.h>
     31 #include <wtf/Noncopyable.h>
     32 
     33 namespace WebCore {
     34 
     35 class FontPlatformData;
     36 class SharedBuffer;
     37 
     38 struct FontCustomPlatformData {
     39     WTF_MAKE_NONCOPYABLE(FontCustomPlatformData); WTF_MAKE_FAST_ALLOCATED;
     40 public:
     41     FontCustomPlatformData() { }
     42     ~FontCustomPlatformData();
     43 
     44     // for use with QFontDatabase::addApplicationFont/removeApplicationFont
     45     int m_handle;
     46 
     47     FontPlatformData fontPlatformData(int size, bool bold, bool italic, FontOrientation = Horizontal, TextOrientation = TextOrientationVerticalRight,
     48                                       FontWidthVariant = RegularWidth, FontRenderingMode = NormalRenderingMode);
     49 
     50     static bool supportsFormat(const String&);
     51 };
     52 
     53 FontCustomPlatformData* createFontCustomPlatformData(SharedBuffer* buffer);
     54 
     55 } // namespace WebCore
     56 
     57 #endif // FontCustomPlatformData_h
     58