Opera 12.15 Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

decoderfactoryico.h 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* -*- Mode: c++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*-
  2. **
  3. ** Copyright (C) 1995-2003 Opera Software AS. All rights reserved.
  4. **
  5. ** This file is part of the Opera web browser. It may not be distributed
  6. ** under any circumstances.
  7. **
  8. */
  9. #ifndef DECODERFACTORYICO_H
  10. #define DECODERFACTORYICO_H
  11. #include "modules/img/imagedecoderfactory.h"
  12. #include "modules/img/image.h"
  13. class DecoderFactoryIco : public ImageDecoderFactory
  14. #ifndef ASYNC_IMAGE_DECODERS
  15. , public ImageDecoderListener
  16. #endif
  17. {
  18. public:
  19. #if defined(INTERNAL_ICO_SUPPORT) || defined(ASYNC_IMAGE_DECODERS_EMULATION)
  20. ImageDecoder* CreateImageDecoder(ImageDecoderListener* listener);
  21. #endif // INTERNAL_ICO_SUPPORT
  22. BOOL3 CheckSize(const UCHAR* data, INT32 len, INT32& width, INT32& height);
  23. BOOL3 CheckType(const UCHAR* data, INT32 len);
  24. #ifndef ASYNC_IMAGE_DECODERS
  25. virtual void OnLineDecoded(void* data, INT32 line, INT32 lineHeight) {}
  26. virtual BOOL OnInitMainFrame(INT32 width, INT32 height);
  27. virtual void OnNewFrame(const ImageFrameData& image_frame_data) {}
  28. virtual void OnAnimationInfo(INT32 nrOfRepeats) {}
  29. virtual void OnDecodingFinished() {}
  30. #ifdef IMAGE_METADATA_SUPPORT
  31. virtual void OnMetaData(ImageMetaData id, const char* data){}
  32. #endif // IMAGE_METADATA_SUPPORT
  33. #ifdef EMBEDDED_ICC_SUPPORT
  34. virtual void OnICCProfileData(const UINT8* data, unsigned datalen){}
  35. #endif // EMBEDDED_ICC_SUPPORT
  36. private:
  37. INT32 peekwidth, peekheight;
  38. #endif // ASYNC_IMAGE_DECODERS
  39. };
  40. #endif // !DECODERFACTORYICO_H