diff options
author | XhmikosR <xhmikosr@users.sourceforge.net> | 2010-04-09 18:12:59 +0400 |
---|---|---|
committer | XhmikosR <xhmikosr@users.sourceforge.net> | 2010-04-09 18:12:59 +0400 |
commit | efbc9d9043ff8ff92716ddd00a5f61412d535593 (patch) | |
tree | 8f3e621f756cf1f5b4d64d97964c7e7abd8aaf08 /src/subtitles/VobSubImage.h | |
parent | df6b139a6d9027156f614b68687e039e3a5854db (diff) |
revert r1783
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@1785 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/subtitles/VobSubImage.h')
-rw-r--r-- | src/subtitles/VobSubImage.h | 114 |
1 files changed, 50 insertions, 64 deletions
diff --git a/src/subtitles/VobSubImage.h b/src/subtitles/VobSubImage.h index c1db3c5e3..13a990c8f 100644 --- a/src/subtitles/VobSubImage.h +++ b/src/subtitles/VobSubImage.h @@ -1,4 +1,4 @@ -/*
+/*
* Copyright (C) 2003-2006 Gabest
* http://www.gabest.org
*
@@ -6,15 +6,15 @@ * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
- *
+ *
* This Program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with GNU Make; see the file COPYING. If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
* http://www.gnu.org/copyleft/gpl.html
*
*/
@@ -23,82 +23,68 @@ #include <atlcoll.h>
-typedef struct
+typedef struct
{
- CAtlArray<CPoint> pa;
- CAtlArray<int> da;
- void RemoveAll()
- {
- pa.RemoveAll();
- da.RemoveAll();
- }
- void Add(CPoint p, int d)
- {
- pa.Add(p);
- da.Add(d);
- }
+ CAtlArray<CPoint> pa;
+ CAtlArray<int> da;
+ void RemoveAll() {pa.RemoveAll(); da.RemoveAll();}
+ void Add(CPoint p, int d) {pa.Add(p); da.Add(d);}
} COutline;
class CVobSubImage
{
- friend class CVobSubFile;
+ friend class CVobSubFile;
private:
- CSize org;
- RGBQUAD* lpTemp1;
- RGBQUAD* lpTemp2;
+ CSize org;
+ RGBQUAD* lpTemp1;
+ RGBQUAD* lpTemp2;
- WORD nOffset[2], nPlane;
- bool fCustomPal;
- char fAligned; // we are also using this for calculations, that's why it is char instead of bool...
- int tridx;
- RGBQUAD* orgpal /*[16]*/, * cuspal /*[4]*/;
+ WORD nOffset[2], nPlane;
+ bool fCustomPal;
+ char fAligned; // we are also using this for calculations, that's why it is char instead of bool...
+ int tridx;
+ RGBQUAD* orgpal /*[16]*/,* cuspal /*[4]*/;
- bool Alloc(int w, int h);
- void Free();
+ bool Alloc(int w, int h);
+ void Free();
- BYTE GetNibble(BYTE* lpData);
- void DrawPixels(CPoint p, int length, int colorid);
- void TrimSubImage();
+ BYTE GetNibble(BYTE* lpData);
+ void DrawPixels(CPoint p, int length, int colorid);
+ void TrimSubImage();
public:
- int iLang, iIdx;
- bool fForced;
- __int64 start, delay;
- CRect rect;
- typedef struct
- {
- BYTE pal: 4, tr: 4;
- } SubPal;
- SubPal pal[4];
- RGBQUAD* lpPixels;
-
- CVobSubImage();
- virtual ~CVobSubImage();
-
- void Invalidate()
- {
- iLang = iIdx = -1;
- }
-
- void GetPacketInfo(BYTE* lpData, int packetsize, int datasize);
- bool Decode(BYTE* lpData, int packetsize, int datasize,
- bool fCustomPal,
- int tridx,
- RGBQUAD* orgpal /*[16]*/, RGBQUAD* cuspal /*[4]*/,
- bool fTrim);
-
- /////////
+ int iLang, iIdx;
+ bool fForced;
+ __int64 start, delay;
+ CRect rect;
+ typedef struct {BYTE pal:4, tr:4;} SubPal;
+ SubPal pal[4];
+ RGBQUAD* lpPixels;
+
+ CVobSubImage();
+ virtual ~CVobSubImage();
+
+ void Invalidate() {iLang = iIdx = -1;}
+
+ void GetPacketInfo(BYTE* lpData, int packetsize, int datasize);
+ bool Decode(BYTE* lpData, int packetsize, int datasize,
+ bool fCustomPal,
+ int tridx,
+ RGBQUAD* orgpal /*[16]*/, RGBQUAD* cuspal /*[4]*/,
+ bool fTrim);
+
+ /////////
private:
- CAutoPtrList<COutline>* GetOutlineList(CPoint& topleft);
- int GrabSegment(int start, COutline& o, COutline& ret);
- void SplitOutline(COutline& o, COutline& o1, COutline& o2);
- void AddSegment(COutline& o, CAtlArray<BYTE>& pathTypes, CAtlArray<CPoint>& pathPoints);
+ CAutoPtrList<COutline>* GetOutlineList(CPoint& topleft);
+ int GrabSegment(int start, COutline& o, COutline& ret);
+ void SplitOutline(COutline& o, COutline& o1, COutline& o2);
+ void AddSegment(COutline& o, CAtlArray<BYTE>& pathTypes, CAtlArray<CPoint>& pathPoints);
public:
- bool Polygonize(CAtlArray<BYTE>& pathTypes, CAtlArray<CPoint>& pathPoints, bool fSmooth, int scale);
- bool Polygonize(CStringW& assstr, bool fSmooth = true, int scale = 3);
+ bool Polygonize(CAtlArray<BYTE>& pathTypes, CAtlArray<CPoint>& pathPoints, bool fSmooth, int scale);
+ bool Polygonize(CStringW& assstr, bool fSmooth = true, int scale = 3);
void Scale2x();
};
|