-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathImageFilter.h
42 lines (32 loc) · 879 Bytes
/
ImageFilter.h
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
* Copyright 2018-2023, Stefano Ceccherini <stefano.ceccherini@gmail.com>
* All rights reserved. Distributed under the terms of the MIT license.
*/
#ifndef IMAGEFILTER_H
#define IMAGEFILTER_H
#include <GraphicsDefs.h>
#include <Rect.h>
#include <SupportDefs.h>
class BBitmap;
class BView;
class ImageFilter {
public:
ImageFilter(BRect frame, color_space colorSpace);
virtual ~ImageFilter();
virtual BBitmap* ApplyFilter(BBitmap* bitmap) = 0;
protected:
BBitmap* Bitmap();
BView* View();
private:
BBitmap* fBitmap;
BView* fView;
ImageFilter& operator=(const ImageFilter& other) = delete ;
ImageFilter(const ImageFilter& other) = delete ;
};
class ImageFilterScale : public ImageFilter {
public:
ImageFilterScale(BRect frame, color_space colorSpace);
virtual ~ImageFilterScale();
virtual BBitmap* ApplyFilter(BBitmap* bitmap);
};
#endif // IMAGEFILTER_H