From ca4e1d02eb7b83f22435f2a58cfd63c0828b09e0 Mon Sep 17 00:00:00 2001 From: Daniel Weck Date: Wed, 22 Oct 2014 11:53:02 +0100 Subject: [PATCH] added Reader parameter to enable OSX launcher to specify that it needs a workaround for the fixed layout scaled rendering (CSS transform), see https://github.com/readium/SDKLauncher-OSX/issues/21 --- js/views/one_page_view.js | 21 ++++++++++++++++----- js/views/reader_view.js | 5 ++++- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/js/views/one_page_view.js b/js/views/one_page_view.js index 0bbd4c681..862a61876 100644 --- a/js/views/one_page_view.js +++ b/js/views/one_page_view.js @@ -591,12 +591,23 @@ ReadiumSDK.Views.OnePageView = function(options, classes, enableBookStyleOverrid enable3D = true; } - var css = ReadiumSDK.Helpers.CSSTransformString({scale : scale, enable3D: enable3D}); + if (reader.needsFixedLayoutScalerWorkAround()) + { + var css1 = ReadiumSDK.Helpers.CSSTransformString({scale : scale, enable3D: enable3D}); + _$epubHtml.css(css1); - css["width"] = _meta_size.width; - css["height"] = _meta_size.height; - - _$scaler.css(css); + var css2 = ReadiumSDK.Helpers.CSSTransformString({scale : 1, enable3D: enable3D}); + css2["width"] = _meta_size.width; + css2["height"] = _meta_size.height; + _$scaler.css(css2); + } + else + { + var css = ReadiumSDK.Helpers.CSSTransformString({scale : scale, enable3D: enable3D}); + css["width"] = _meta_size.width; + css["height"] = _meta_size.height; + _$scaler.css(css); + } // Chrome workaround: otherwise text is sometimes invisible (probably a rendering glitch due to the 3D transform graphics backend?) //_$epubHtml.css("visibility", "hidden"); // "flashing" in two-page spread mode is annoying :( diff --git a/js/views/reader_view.js b/js/views/reader_view.js index 88dbc8b00..482ee8644 100644 --- a/js/views/reader_view.js +++ b/js/views/reader_view.js @@ -67,7 +67,6 @@ ReadiumSDK.Views.ReaderView = function(options) { console.log("** EL is a string:" + _$el.attr('id')); } - if(options.iframeLoader) { _iframeLoader = options.iframeLoader; } @@ -75,6 +74,10 @@ ReadiumSDK.Views.ReaderView = function(options) { _iframeLoader = new ReadiumSDK.Views.IFrameLoader({ mathJaxUrl: options.mathJaxUrl}); } + + _needsFixedLayoutScalerWorkAround = options.needsFixedLayoutScalerWorkAround; + this.needsFixedLayoutScalerWorkAround = function() { return _needsFixedLayoutScalerWorkAround; } + this.createViewForType = function(viewType, options) { var createdView; switch(viewType) {