Home | History | Annotate | Download | only in include
      1 /*
      2 // Copyright(c)2014 IntelCorporation
      3 //
      4 // LicensedundertheApacheLicense,Version2.0(the"License");
      5 // youmaynotusethisfileexceptincompliancewiththeLicense.
      6 // YoumayobtainacopyoftheLicenseat
      7 //
      8 // http://www.apache.org/licenses/LICENSE-2.0
      9 //
     10 // Unlessrequiredbyapplicablelaworagreedtoinwriting,software
     11 // distributedundertheLicenseisdistributedonan"ASIS"BASIS,
     12 // WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.
     13 // SeetheLicenseforthespecificlanguagegoverningpermissionsand
     14 // limitationsundertheLicense.
     15 */
     16 #ifndef PRIMARY_DEVICE_H
     17 #define PRIMARY_DEVICE_H
     18 
     19 #include <DisplayPlane.h>
     20 #include <IVsyncControl.h>
     21 #include <IBlankControl.h>
     22 #include <common/observers/VsyncEventObserver.h>
     23 #include <common/base/HwcLayerList.h>
     24 #include <PhysicalDevice.h>
     25 
     26 namespace android {
     27 namespace intel {
     28 
     29 
     30 class PrimaryDevice : public PhysicalDevice {
     31 public:
     32     PrimaryDevice(uint32_t disp, Hwcomposer& hwc, DisplayPlaneManager& dpm);
     33     virtual ~PrimaryDevice();
     34 public:
     35     virtual bool initialize();
     36     virtual void deinitialize();
     37 
     38     bool blank(bool blank);
     39 protected:
     40     virtual IVsyncControl* createVsyncControl() = 0;
     41     virtual IBlankControl* createBlankControl() = 0;
     42 };
     43 
     44 }
     45 }
     46 
     47 #endif /* PRIMARY_DEVICE_H */
     48