mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 17:32:44 +00:00 
			
		
		
		
	LibDraw: Rename ImageLoader => ImageDecoder
ImageLoader was not the right name for this, as there is no loading happening, only decoding. :^)
This commit is contained in:
		
							parent
							
								
									02e787f8a4
								
							
						
					
					
						commit
						f970578cd4
					
				
					 8 changed files with 32 additions and 32 deletions
				
			
		
							
								
								
									
										11
									
								
								Libraries/LibDraw/ImageDecoder.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Libraries/LibDraw/ImageDecoder.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| #include <LibDraw/ImageDecoder.h> | ||||
| #include <LibDraw/PNGLoader.h> | ||||
| 
 | ||||
| ImageDecoder::ImageDecoder(const u8* data, size_t size) | ||||
| { | ||||
|     m_plugin = make<PNGImageDecoderPlugin>(data, size); | ||||
| } | ||||
| 
 | ||||
| ImageDecoder::~ImageDecoder() | ||||
| { | ||||
| } | ||||
|  | @ -7,21 +7,21 @@ | |||
| 
 | ||||
| class GraphicsBitmap; | ||||
| 
 | ||||
| class ImageLoaderPlugin { | ||||
| class ImageDecoderPlugin { | ||||
| public: | ||||
|     virtual ~ImageLoaderPlugin() {} | ||||
|     virtual ~ImageDecoderPlugin() {} | ||||
| 
 | ||||
|     virtual Size size() = 0; | ||||
|     virtual RefPtr<GraphicsBitmap> bitmap() = 0; | ||||
| 
 | ||||
| protected: | ||||
|     ImageLoaderPlugin() {} | ||||
|     ImageDecoderPlugin() {} | ||||
| }; | ||||
| 
 | ||||
| class ImageLoader : public RefCounted<ImageLoader> { | ||||
| class ImageDecoder : public RefCounted<ImageDecoder> { | ||||
| public: | ||||
|     static NonnullRefPtr<ImageLoader> create(const u8* data, size_t size) { return adopt(*new ImageLoader(data, size)); } | ||||
|     ~ImageLoader(); | ||||
|     static NonnullRefPtr<ImageDecoder> create(const u8* data, size_t size) { return adopt(*new ImageDecoder(data, size)); } | ||||
|     ~ImageDecoder(); | ||||
| 
 | ||||
|     Size size() const { return m_plugin->size(); } | ||||
|     int width() const { return size().width(); } | ||||
|  | @ -29,7 +29,7 @@ public: | |||
|     RefPtr<GraphicsBitmap> bitmap() const { return m_plugin->bitmap(); } | ||||
| 
 | ||||
| private: | ||||
|     ImageLoader(const u8*, size_t); | ||||
|     ImageDecoder(const u8*, size_t); | ||||
| 
 | ||||
|     mutable OwnPtr<ImageLoaderPlugin> m_plugin; | ||||
|     mutable OwnPtr<ImageDecoderPlugin> m_plugin; | ||||
| }; | ||||
|  | @ -1,11 +0,0 @@ | |||
| #include <LibDraw/ImageLoader.h> | ||||
| #include <LibDraw/PNGLoader.h> | ||||
| 
 | ||||
| ImageLoader::ImageLoader(const u8* data, size_t size) | ||||
| { | ||||
|     m_plugin = make<PNGImageLoaderPlugin>(data, size); | ||||
| } | ||||
| 
 | ||||
| ImageLoader::~ImageLoader() | ||||
| { | ||||
| } | ||||
|  | @ -8,7 +8,7 @@ OBJS = \ | |||
|     GraphicsBitmap.o \
 | ||||
|     Painter.o \
 | ||||
|     PNGLoader.o \
 | ||||
|     ImageLoader.o \
 | ||||
|     ImageDecoder.o \
 | ||||
|     Rect.o \
 | ||||
|     StylePainter.o \
 | ||||
|     Emoji.o | ||||
|  |  | |||
|  | @ -661,18 +661,18 @@ static bool process_chunk(Streamer& streamer, PNGLoadingContext& context, bool d | |||
|     return true; | ||||
| } | ||||
| 
 | ||||
| PNGImageLoaderPlugin::PNGImageLoaderPlugin(const u8* data, size_t size) | ||||
| PNGImageDecoderPlugin::PNGImageDecoderPlugin(const u8* data, size_t size) | ||||
| { | ||||
|     m_context = make<PNGLoadingContext>(); | ||||
|     m_context->data = data; | ||||
|     m_context->data_size = size; | ||||
| } | ||||
| 
 | ||||
| PNGImageLoaderPlugin::~PNGImageLoaderPlugin() | ||||
| PNGImageDecoderPlugin::~PNGImageDecoderPlugin() | ||||
| { | ||||
| } | ||||
| 
 | ||||
| Size PNGImageLoaderPlugin::size() | ||||
| Size PNGImageDecoderPlugin::size() | ||||
| { | ||||
|     if (m_context->state == PNGLoadingContext::State::Error) | ||||
|         return {}; | ||||
|  | @ -686,7 +686,7 @@ Size PNGImageLoaderPlugin::size() | |||
|     return { m_context->width, m_context->height }; | ||||
| } | ||||
| 
 | ||||
| RefPtr<GraphicsBitmap> PNGImageLoaderPlugin::bitmap() | ||||
| RefPtr<GraphicsBitmap> PNGImageDecoderPlugin::bitmap() | ||||
| { | ||||
|     if (m_context->state == PNGLoadingContext::State::Error) | ||||
|         return nullptr; | ||||
|  |  | |||
|  | @ -1,17 +1,17 @@ | |||
| #pragma once | ||||
| 
 | ||||
| #include <LibDraw/GraphicsBitmap.h> | ||||
| #include <LibDraw/ImageLoader.h> | ||||
| #include <LibDraw/ImageDecoder.h> | ||||
| 
 | ||||
| RefPtr<GraphicsBitmap> load_png(const StringView& path); | ||||
| RefPtr<GraphicsBitmap> load_png_from_memory(const u8*, size_t); | ||||
| 
 | ||||
| struct PNGLoadingContext; | ||||
| 
 | ||||
| class PNGImageLoaderPlugin final : public ImageLoaderPlugin { | ||||
| class PNGImageDecoderPlugin final : public ImageDecoderPlugin { | ||||
| public: | ||||
|     virtual ~PNGImageLoaderPlugin() override; | ||||
|     PNGImageLoaderPlugin(const u8*, size_t); | ||||
|     virtual ~PNGImageDecoderPlugin() override; | ||||
|     PNGImageDecoderPlugin(const u8*, size_t); | ||||
| 
 | ||||
|     virtual Size size() override; | ||||
|     virtual RefPtr<GraphicsBitmap> bitmap() override; | ||||
|  |  | |||
|  | @ -34,7 +34,7 @@ void HTMLImageElement::load_image(const String& src) | |||
|         } | ||||
| 
 | ||||
|         m_image_data = data; | ||||
|         m_image_loader = ImageLoader::create(m_image_data.data(), m_image_data.size()); | ||||
|         m_image_loader = ImageDecoder::create(m_image_data.data(), m_image_data.size()); | ||||
|         document().update_layout(); | ||||
|     }); | ||||
| } | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| #pragma once | ||||
| 
 | ||||
| #include <LibDraw/GraphicsBitmap.h> | ||||
| #include <LibDraw/ImageLoader.h> | ||||
| #include <LibDraw/ImageDecoder.h> | ||||
| #include <LibHTML/DOM/HTMLElement.h> | ||||
| 
 | ||||
| class HTMLImageElement : public HTMLElement { | ||||
|  | @ -17,14 +17,14 @@ public: | |||
|     int preferred_height() const; | ||||
| 
 | ||||
|     const GraphicsBitmap* bitmap() const; | ||||
|     const ImageLoader* image_loader() const { return m_image_loader; } | ||||
|     const ImageDecoder* image_loader() const { return m_image_loader; } | ||||
| 
 | ||||
| private: | ||||
|     void load_image(const String& src); | ||||
| 
 | ||||
|     virtual RefPtr<LayoutNode> create_layout_node(const StyleProperties* parent_style) const override; | ||||
| 
 | ||||
|     RefPtr<ImageLoader> m_image_loader; | ||||
|     RefPtr<ImageDecoder> m_image_loader; | ||||
|     mutable RefPtr<GraphicsBitmap> m_bitmap; | ||||
|     ByteBuffer m_image_data; | ||||
| }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling