ciderpress/reformat/DoubleHiRes.h
Andy McFadden 8f61f84585 Use types with explicit sizes
Much of what the "reformat" code does involves processing data that is
8, 16, or 32 bits.  We want to use size-specific types from stdint.h
(e.g. uint16_t) rather than "unsigned short".

This was a quick pass to replace the various "unsigned" declarations.
More can be done here and elsewhere.
2014-11-20 18:10:18 -08:00

55 lines
1.4 KiB
C++

/*
* CiderPress
* Copyright (C) 2007 by faddenSoft, LLC. All Rights Reserved.
* See the file LICENSE for distribution terms.
*/
/*
* Reformat double-hi-res graphics.
*/
#ifndef REFORMAT_DOUBLEHIRES_H
#define REFORMAT_DOUBLEHIRES_H
#include "ReformatBase.h"
/*
* Reformat double-hi-res graphics into a bitmap.
*/
class ReformatDHR : public ReformatGraphics {
public:
ReformatDHR(void) {}
virtual ~ReformatDHR(void) {}
virtual void Examine(ReformatHolder* pHolder);
virtual int Process(const ReformatHolder* pHolder,
ReformatHolder::ReformatID id, ReformatHolder::ReformatPart part,
ReformatOutput* pOutput);
enum {
kPixelsPerLine = 560,
kNumLines = 192,
kOutputWidth = 560,
kOutputHeight = 384,
kPageSize = 8192,
kExpectedSize = kPageSize*2,
kNumDHRColors = 16,
};
/* this MUST match up with prefs ctrl indices (IDC_DHR_CONV_COMBO) */
typedef enum {
kDHRBlackWhite = 0,
kDHRLatched = 1,
kDHRPlain140 = 2,
kDHRWindow = 3,
} Algorithms;
void InitColorLookup(void);
MyDIBitmap* DHRScreenToBitmap(const uint8_t* buf);
Algorithms fAlgorithm;
int fLineOffset[kNumLines];
unsigned int fColorLookup[4][kNumDHRColors];
};
#endif /*REFORMAT_DOUBLEHIRES_H*/