gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] /srv/bzr/gnash/trunk r10624: Fix devi ce font display pro


From: Benjamin Wolsey
Subject: [Gnash-commit] /srv/bzr/gnash/trunk r10624: Fix devi ce font display properly (patch from Michael Fötsch) , drop
Date: Wed, 25 Feb 2009 08:44:45 +0100
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 10624
committer: Benjamin Wolsey <address@hidden>
branch nick: trunk
timestamp: Wed 2009-02-25 08:44:45 +0100
message:
  Fix device font display properly (patch from Michael Fötsch), drop
  compile-time option for pp-compatible font handling.
modified:
  libcore/TextField.cpp
    ------------------------------------------------------------
    revno: 10623.1.1
    author: Michael Fötsch <address@hidden>
    committer: Benjamin Wolsey <address@hidden>
    branch nick: temp
    timestamp: Wed 2009-02-25 08:21:58 +0100
    message:
      Correctly render device fonts with parent cxform. Fixes YouTube 'recently 
watched' widget
    modified:
      libcore/TextField.cpp
    ------------------------------------------------------------
    revno: 10623.1.2
    committer: Benjamin Wolsey <address@hidden>
    branch nick: temp
    timestamp: Wed 2009-02-25 08:22:26 +0100
    message:
      Remove PP_COMPATIBLE_DEVICE_FONT_HANDLING macro. Because at least one
      prominent case relies on this 'bug' (YouTube), it's no longer optional.
      The other strange behaviour of device fonts (rotation) is not implemented.
    modified:
      libcore/TextField.cpp
    ------------------------------------------------------------
    revno: 10623.1.3
    committer: Benjamin Wolsey <address@hidden>
    branch nick: temp
    timestamp: Wed 2009-02-25 08:25:37 +0100
    message:
      Indentation.
    modified:
      libcore/TextField.cpp
    ------------------------------------------------------------
    revno: 10623.1.4
    committer: Benjamin Wolsey <address@hidden>
    branch nick: temp
    timestamp: Wed 2009-02-25 08:30:10 +0100
    message:
      Note on test.
    modified:
      libcore/TextField.cpp
=== modified file 'libcore/TextField.cpp'
--- a/libcore/TextField.cpp     2009-02-10 15:38:43 +0000
+++ b/libcore/TextField.cpp     2009-02-25 07:30:10 +0000
@@ -54,18 +54,6 @@
 // Text fields have a fixed 2 pixel padding for each side (regardless of 
border)
 #define PADDING_TWIPS 40 
 
-// Define the following macro to maintain compatibility with the proprietary
-// player when it comes to opacity of textfields using device fonts.
-// See 
http://gnashdev.org/wiki/index.php/DeviceFonts#Differences_with_proprietary_player_implementation
-//
-// This is now disabled by default because INCOMPLETE and unclean
-// A clean implementation (IMHO) would warn user about the fact
-// it is doing a stupid thing for compatibilty reason.
-// Also, for good compatibility, we should skip rendering
-// of rotated or skewed text.
-//
-//#define PP_COMPATIBLE_DEVICE_FONT_HANDLING 1
-
 // Define the following to get detailed log information about
 // textfield bounds and HTML tags:
 //#define GNASH_DEBUG_TEXTFIELDS 1
@@ -1691,22 +1679,15 @@
 cxform    
 TextField::get_world_cxform() const
 {
-  cxform cf = character::get_world_cxform();
-  
-#ifdef PP_COMPATIBLE_DEVICE_FONT_HANDLING
-  if ( ! getEmbedFonts() ) /* if using a device font (PP compatibility) */ 
-  {
-    // set alpha to default values to make the text field opaque
-    cf.m_[3][0] = 1.0f;
-    cf.m_[3][1] = 0.0f;
-    
-    // NOTE: Linux version of Adobe's player also ignores tint
-    // transform, so we should (or not) return an identity cxform
-    // here. This has to be discussed...
-  }
-#endif
-  
-  return cf;
+    // This is not automatically tested. See testsuite/samples/input-fields.swf
+    // for a manual check.
+
+    // If using a device font (PP compatibility), do not take parent cxform
+    // into account.
+    if (!getEmbedFonts()) {
+        return cxform();
+    }
+    else return character::get_world_cxform();
 }
 
 void


reply via email to

[Prev in Thread] Current Thread [Next in Thread]