Home | History | Annotate | Download | only in dev
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef PPAPI_CPP_DEV_VIEW_DEV_H_
      6 #define PPAPI_CPP_DEV_VIEW_DEV_H_
      7 
      8 #include "ppapi/cpp/view.h"
      9 
     10 namespace pp {
     11 
     12 // ViewDev is a version of View that exposes under-development APIs related to
     13 // HiDPI
     14 class ViewDev : public View {
     15  public:
     16   ViewDev() : View() {}
     17   ViewDev(const View& other) : View(other) {}
     18 
     19   virtual ~ViewDev() {}
     20 
     21   /// GetDeviceScale returns the scale factor between device pixels and DIPs
     22   /// (also known as logical pixels or UI pixels on some platforms). This allows
     23   /// the developer to render their contents at device resolution, even as
     24   /// coordinates / sizes are given in DIPs through the API.
     25   ///
     26   /// Note that the coordinate system for Pepper APIs is DIPs. Also note that
     27   /// one DIP might not equal one CSS pixel - when page scale/zoom is in effect.
     28   ///
     29   /// @return A <code>float</code> value representing the number of device
     30   /// pixels per DIP.
     31   float GetDeviceScale() const;
     32 
     33   /// GetCSSScale returns the scale factor between DIPs and CSS pixels. This
     34   /// allows proper scaling between DIPs - as sent via the Pepper API - and CSS
     35   /// pixel coordinates used for Web content.
     36   ///
     37   /// @return A <code>float</code> value representing the number of DIPs per CSS
     38   /// pixel.
     39   float GetCSSScale() const;
     40 };
     41 
     42 }  // namespace pp
     43 
     44 #endif  // PPAPI_CPP_DEV_VIEW_DEV_H_
     45