aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform/graphics/cairo/CairoResource.h
blob: bf35ab26abdb69ba83b2be656a634d52723b4d70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once
#include "Base.h"

#include "../Resource.h"

namespace cru::platform::graphics::cairo {
class CairoGraphicsFactory;

class CRU_PLATFORM_GRAPHICS_CAIRO_API CairoResource
    : public Object,
      public virtual IGraphicsResource {
 public:
  explicit CairoResource(CairoGraphicsFactory* factory);

  CRU_DELETE_COPY(CairoResource)
  CRU_DELETE_MOVE(CairoResource)

  ~CairoResource() override;

  String GetPlatformId() const override;
  IGraphicsFactory* GetGraphicsFactory() override;
  CairoGraphicsFactory* GetCairoGraphicsFactory() const { return factory_; }

 private:
  CairoGraphicsFactory* factory_;
};
}  // namespace cru::platform::graphics::cairo