Home | History | Annotate | Download | only in common
      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 SPRITE_PLANE_BASE_H
     17 #define SPRITE_PLANE_BASE_H
     18 
     19 #include <utils/KeyedVector.h>
     20 #include <hal_public.h>
     21 #include <BufferCache.h>
     22 #include <DisplayPlane.h>
     23 
     24 namespace android {
     25 namespace intel {
     26 
     27 class SpritePlaneBase : public DisplayPlane {
     28 public:
     29     SpritePlaneBase(int index, int disp);
     30     virtual ~SpritePlaneBase();
     31 public:
     32     // hardware operations
     33     virtual bool flip(void *ctx);
     34     virtual bool enable();
     35     virtual bool disable();
     36     virtual bool isDisabled() = 0;
     37 
     38     // display device
     39     virtual void* getContext() const = 0;
     40 protected:
     41     virtual bool setDataBuffer(BufferMapper& mapper) = 0;
     42     virtual bool enablePlane(bool enabled) = 0;
     43 protected:
     44     bool mForceBottom;
     45     bool mAbovePrimary;
     46 };
     47 
     48 } // namespace intel
     49 } // namespace android
     50 
     51 #endif /* SPRITE_PLANE_BASE_H */
     52 
     53