19 #ifndef PAGESPEED_KERNEL_IMAGE_READ_IMAGE_H_
20 #define PAGESPEED_KERNEL_IMAGE_READ_IMAGE_H_
27 namespace net_instaweb {
33 namespace image_compression {
35 class MultipleFrameReader;
36 class MultipleFrameWriter;
37 class ScanlineReaderInterface;
38 class ScanlineWriterInterface;
41 using pagespeed::image_compression::QuirksMode;
42 using pagespeed::image_compression::QUIRKS_CHROME;
51 ScanlineReaderInterface* CreateScanlineReader(ImageFormat image_type,
52 const void* image_buffer,
54 MessageHandler* handler,
55 ScanlineStatus* status);
57 inline ScanlineReaderInterface* CreateScanlineReader(ImageFormat image_type,
58 const void* image_buffer,
60 MessageHandler* handler) {
61 ScanlineStatus status;
62 return CreateScanlineReader(image_type, image_buffer, buffer_length,
70 ScanlineWriterInterface* CreateScanlineWriter(
71 ImageFormat image_type,
72 PixelFormat pixel_format,
77 MessageHandler* handler,
78 ScanlineStatus* status);
80 inline ScanlineWriterInterface* CreateScanlineWriter(ImageFormat image_type,
81 PixelFormat pixel_format,
86 MessageHandler* handler) {
87 ScanlineStatus status;
88 return CreateScanlineWriter(image_type, pixel_format, width, height,
89 config, image_data, handler, &status);
100 MultipleFrameReader* CreateImageFrameReader(
101 ImageFormat image_type,
102 const void* image_buffer,
103 size_t buffer_length,
104 QuirksMode quirks_mode,
105 MessageHandler* handler,
106 ScanlineStatus* status);
110 inline MultipleFrameReader* CreateImageFrameReader(
111 ImageFormat image_type,
112 const void* image_buffer,
113 size_t buffer_length,
114 MessageHandler* handler,
115 ScanlineStatus* status) {
116 return CreateImageFrameReader(image_type, image_buffer, buffer_length,
117 QUIRKS_CHROME, handler, status);
126 MultipleFrameWriter* CreateImageFrameWriter(
127 ImageFormat image_type,
130 MessageHandler* handler,
131 ScanlineStatus* status);
153 bool ReadImage(ImageFormat image_type,
154 const void* image_buffer,
155 size_t buffer_length,
157 PixelFormat* pixel_format,
161 MessageHandler* handler);
std::string GoogleString
PAGESPEED_KERNEL_BASE_STRING_H_.
Definition: string.h:24
Definition: message_handler.h:39