mirror of
https://github.com/YACReader/yacreader
synced 2025-06-04 01:28:55 -04:00
Fixed compilation problems in OSX after pdf refactoring merge.
This commit is contained in:
parent
b1b91d5013
commit
cfb0330026
@ -14,7 +14,7 @@ class MacOSXPDFComic
|
|||||||
void closeComic();
|
void closeComic();
|
||||||
unsigned int numPages();
|
unsigned int numPages();
|
||||||
QImage getPage(const int page);
|
QImage getPage(const int page);
|
||||||
void releaseLastPageData();
|
//void releaseLastPageData();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void * document;
|
void * document;
|
||||||
|
@ -64,12 +64,15 @@ QImage MacOSXPDFComic::getPage(const int pageNum)
|
|||||||
pageRect.origin = CGPointZero;
|
pageRect.origin = CGPointZero;
|
||||||
|
|
||||||
CGColorSpaceRef genericColorSpace = CGColorSpaceCreateDeviceRGB();
|
CGColorSpaceRef genericColorSpace = CGColorSpaceCreateDeviceRGB();
|
||||||
CGContextRef bitmapContext = CGBitmapContextCreate(NULL,
|
|
||||||
|
QImage renderImage = QImage(pageRect.size.width, pageRect.size.height, QImage::Format_ARGB32_Premultiplied);
|
||||||
|
|
||||||
|
CGContextRef bitmapContext = CGBitmapContextCreate(renderImage.scanLine(0),
|
||||||
pageRect.size.width,
|
pageRect.size.width,
|
||||||
pageRect.size.height,
|
pageRect.size.height,
|
||||||
8, 0,
|
8,renderImage.bytesPerLine(),
|
||||||
genericColorSpace,
|
genericColorSpace,
|
||||||
kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little
|
kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little //may need to be changed to kCGBitmapByteOrder32Big
|
||||||
);
|
);
|
||||||
|
|
||||||
CGContextSetInterpolationQuality(bitmapContext, kCGInterpolationHigh);
|
CGContextSetInterpolationQuality(bitmapContext, kCGInterpolationHigh);
|
||||||
@ -89,13 +92,13 @@ QImage MacOSXPDFComic::getPage(const int pageNum)
|
|||||||
|
|
||||||
CGContextDrawPDFPage(bitmapContext, page);
|
CGContextDrawPDFPage(bitmapContext, page);
|
||||||
|
|
||||||
CGImageRef image = CGBitmapContextCreateImage(bitmapContext);
|
//CGImageRef image = CGBitmapContextCreateImage(bitmapContext);
|
||||||
|
|
||||||
QImage qtImage;
|
//QImage qtImage;
|
||||||
|
|
||||||
CFDataRef dataRef = CGDataProviderCopyData(CGImageGetDataProvider(image));
|
//CFDataRef dataRef = CGDataProviderCopyData(CGImageGetDataProvider(image));
|
||||||
|
|
||||||
lastPageData = (void *)dataRef;
|
/*lastPageData = (void *)dataRef;
|
||||||
|
|
||||||
if(!lastPageData)
|
if(!lastPageData)
|
||||||
{
|
{
|
||||||
@ -108,19 +111,20 @@ QImage MacOSXPDFComic::getPage(const int pageNum)
|
|||||||
|
|
||||||
const uchar *bytes = (const uchar *)CFDataGetBytePtr(dataRef);
|
const uchar *bytes = (const uchar *)CFDataGetBytePtr(dataRef);
|
||||||
|
|
||||||
qtImage = QImage(bytes, pageRect.size.width, pageRect.size.height, QImage::Format_ARGB32, &releaseLastPageData());
|
qtImage = QImage(bytes, pageRect.size.width, pageRect.size.height, QImage::Format_ARGB32);
|
||||||
|
*/
|
||||||
CGImageRelease(image);
|
//CGImageRelease(image);
|
||||||
//CFRelease(dataRef);
|
//CFRelease(dataRef);
|
||||||
CGContextRelease(bitmapContext);
|
CGContextRelease(bitmapContext);
|
||||||
//CGPDFPageRelease(page);
|
//CGPDFPageRelease(page);
|
||||||
CGColorSpaceRelease(genericColorSpace);
|
CGColorSpaceRelease(genericColorSpace);
|
||||||
|
|
||||||
return qtImage;
|
//return qtImage;
|
||||||
|
return renderImage;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MacOSXPDFComic::releaseLastPageData()
|
/*void MacOSXPDFComic::releaseLastPageData()
|
||||||
{
|
{
|
||||||
CFRelease((CFDataRef)lastPageData);
|
CFRelease((CFDataRef)lastPageData);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user