~registry/dolphin-emu/triforce

« back to all changes in this revision

Viewing changes to Externals/wxWidgets3/include/wx/anidecod.h

  • Committer: Sérgio Benjamim
  • Date: 2015-02-13 05:54:40 UTC
  • Revision ID: sergio_br2@yahoo.com.br-20150213055440-ey2rt3sjpy27km78
Dolphin Triforce branch from code.google, commit b957980 (4.0-315).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/////////////////////////////////////////////////////////////////////////////
 
2
// Name:        wx/anidecod.h
 
3
// Purpose:     wxANIDecoder, ANI reader for wxImage and wxAnimation
 
4
// Author:      Francesco Montorsi
 
5
// Copyright:   (c) 2006 Francesco Montorsi
 
6
// Licence:     wxWindows licence
 
7
/////////////////////////////////////////////////////////////////////////////
 
8
 
 
9
#ifndef _WX_ANIDECOD_H
 
10
#define _WX_ANIDECOD_H
 
11
 
 
12
#include "wx/defs.h"
 
13
 
 
14
#if wxUSE_STREAMS && (wxUSE_ICO_CUR || wxUSE_GIF)
 
15
 
 
16
#include "wx/stream.h"
 
17
#include "wx/image.h"
 
18
#include "wx/animdecod.h"
 
19
#include "wx/dynarray.h"
 
20
 
 
21
 
 
22
class /*WXDLLIMPEXP_CORE*/ wxANIFrameInfo;      // private implementation detail
 
23
 
 
24
WX_DECLARE_EXPORTED_OBJARRAY(wxANIFrameInfo, wxANIFrameInfoArray);
 
25
WX_DECLARE_EXPORTED_OBJARRAY(wxImage, wxImageArray);
 
26
 
 
27
// --------------------------------------------------------------------------
 
28
// wxANIDecoder class
 
29
// --------------------------------------------------------------------------
 
30
 
 
31
class WXDLLIMPEXP_CORE wxANIDecoder : public wxAnimationDecoder
 
32
{
 
33
public:
 
34
    // constructor, destructor, etc.
 
35
    wxANIDecoder();
 
36
    ~wxANIDecoder();
 
37
 
 
38
 
 
39
    virtual wxSize GetFrameSize(unsigned int frame) const;
 
40
    virtual wxPoint GetFramePosition(unsigned int frame) const;
 
41
    virtual wxAnimationDisposal GetDisposalMethod(unsigned int frame) const;
 
42
    virtual long GetDelay(unsigned int frame) const;
 
43
    virtual wxColour GetTransparentColour(unsigned int frame) const;
 
44
 
 
45
    // implementation of wxAnimationDecoder's pure virtuals
 
46
 
 
47
    virtual bool Load( wxInputStream& stream );
 
48
 
 
49
    bool ConvertToImage(unsigned int frame, wxImage *image) const;
 
50
 
 
51
    wxAnimationDecoder *Clone() const
 
52
        { return new wxANIDecoder; }
 
53
    wxAnimationType GetType() const
 
54
        { return wxANIMATION_TYPE_ANI; }
 
55
 
 
56
private:
 
57
    // wxAnimationDecoder pure virtual:
 
58
    virtual bool DoCanRead( wxInputStream& stream ) const;
 
59
            // modifies current stream position (see wxAnimationDecoder::CanRead)
 
60
 
 
61
    // frames stored as wxImage(s): ANI files are meant to be used mostly for animated
 
62
    // cursors and thus they do not use any optimization to encode differences between
 
63
    // two frames: they are just a list of images to display sequentially.
 
64
    wxImageArray m_images;
 
65
 
 
66
    // the info about each image stored in m_images.
 
67
    // NB: m_info.GetCount() may differ from m_images.GetCount()!
 
68
    wxANIFrameInfoArray m_info;
 
69
 
 
70
    // this is the wxCURHandler used to load the ICON chunk of the ANI files
 
71
    static wxCURHandler sm_handler;
 
72
 
 
73
 
 
74
    wxDECLARE_NO_COPY_CLASS(wxANIDecoder);
 
75
};
 
76
 
 
77
 
 
78
#endif  // wxUSE_STREAMS && (wxUSE_ICO_CUR || wxUSE_GIF)
 
79
 
 
80
#endif  // _WX_ANIDECOD_H