[WebGL2] Teach WebGLRenderingContextBase about new texture internal formats
[WebKit-https.git] / Source / WebCore / platform / graphics / FontSelector.h
index aaaaae2..7f5f323 100644 (file)
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
  *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#ifndef FontSelector_h
-#define FontSelector_h
+#pragma once
 
+#include "FontRanges.h"
 #include <wtf/Forward.h>
-#include <wtf/PassRefPtr.h>
 #include <wtf/RefCounted.h>
 
 namespace WebCore {
 
-class FontData;
+class FontCascadeDescription;
 class FontDescription;
 class FontSelectorClient;
 
+class FontAccessor : public RefCounted<FontAccessor> {
+public:
+    virtual ~FontAccessor() { }
+
+    virtual const Font* font() const = 0;
+    virtual bool isLoading() const = 0;
+};
+
 class FontSelector : public RefCounted<FontSelector> {
 public:
     virtual ~FontSelector() { }
-    virtual PassRefPtr<FontData> getFontData(const FontDescription&, const AtomicString& familyName) = 0;
 
-    virtual void fontCacheInvalidated() { }
+    virtual FontRanges fontRangesForFamily(const FontDescription&, const AtomicString&) = 0;
+    virtual RefPtr<Font> fallbackFontAt(const FontDescription&, size_t) = 0;
 
-    virtual void registerForInvalidationCallbacks(FontSelectorClient*) = 0;
-    virtual void unregisterForInvalidationCallbacks(FontSelectorClient*) = 0;
-    
-    virtual unsigned version() const = 0;
-};
+    virtual size_t fallbackFontCount() = 0;
 
-class FontSelectorClient {
-public:
-    virtual ~FontSelectorClient() { }
+    virtual void fontCacheInvalidated() { }
 
-    virtual void fontsNeedUpdate(FontSelector*) = 0;
-};
+    virtual void registerForInvalidationCallbacks(FontSelectorClient&) = 0;
+    virtual void unregisterForInvalidationCallbacks(FontSelectorClient&) = 0;
 
-} // namespace WebCore
+    virtual unsigned uniqueId() const = 0;
+    virtual unsigned version() const = 0;
+};
 
-#endif // FontSelector_h
+}