Add APPPrinterUnit to avoid code duplication
This commit is contained in:
parent
578342516a
commit
ee88021da0
@ -78,6 +78,9 @@
|
|||||||
<header-file src="src/ios/APPPrinterRenderer.h" />
|
<header-file src="src/ios/APPPrinterRenderer.h" />
|
||||||
<source-file src="src/ios/APPPrinterRenderer.m" />
|
<source-file src="src/ios/APPPrinterRenderer.m" />
|
||||||
|
|
||||||
|
<header-file src="src/ios/APPPrinterUnit.h" />
|
||||||
|
<source-file src="src/ios/APPPrinterUnit.m" />
|
||||||
|
|
||||||
<header-file src="src/ios/UIPrintInteractionController+APPPrinter.h" />
|
<header-file src="src/ios/UIPrintInteractionController+APPPrinter.h" />
|
||||||
<source-file src="src/ios/UIPrintInteractionController+APPPrinter.m" />
|
<source-file src="src/ios/UIPrintInteractionController+APPPrinter.m" />
|
||||||
|
|
||||||
|
@ -19,9 +19,9 @@
|
|||||||
under the License.
|
under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#import "APPPrinter.h"
|
#include "APPPrinter.h"
|
||||||
#import "APPPrinterItem.h"
|
#include "APPPrinterItem.h"
|
||||||
#import "APPPrinterPaper.h"
|
#include "APPPrinterPaper.h"
|
||||||
#include "APPPrinterRenderer.h"
|
#include "APPPrinterRenderer.h"
|
||||||
#include "UIPrintInteractionController+APPPrinter.h"
|
#include "UIPrintInteractionController+APPPrinter.h"
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
under the License.
|
under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#import "APPPrinterInfo.h"
|
#include "APPPrinterInfo.h"
|
||||||
|
|
||||||
@implementation APPPrinterInfo
|
@implementation APPPrinterInfo
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
under the License.
|
under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#import "APPPrinterItem.h"
|
#include "APPPrinterItem.h"
|
||||||
|
|
||||||
@implementation APPPrinterItem
|
@implementation APPPrinterItem
|
||||||
|
|
||||||
|
@ -19,7 +19,8 @@
|
|||||||
under the License.
|
under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#import "APPPrinterLayout.h"
|
#include "APPPrinterLayout.h"
|
||||||
|
#include "APPPrinterUnit.h"
|
||||||
|
|
||||||
@implementation APPPrinterLayout
|
@implementation APPPrinterLayout
|
||||||
|
|
||||||
@ -33,7 +34,7 @@
|
|||||||
NSDictionary* insests = spec[@"padding"];
|
NSDictionary* insests = spec[@"padding"];
|
||||||
double maxWidth = [spec[@"maxWidth"] doubleValue];
|
double maxWidth = [spec[@"maxWidth"] doubleValue];
|
||||||
double maxHeight = [spec[@"maxHeight"] doubleValue];
|
double maxHeight = [spec[@"maxHeight"] doubleValue];
|
||||||
double dots = [self pointsPerUnit:spec[@"unit"]];
|
double dots = [APPPrinterUnit convert:spec[@"unit"]];
|
||||||
|
|
||||||
_contentInsets = UIEdgeInsetsMake(dots * [insests[@"top"] doubleValue],
|
_contentInsets = UIEdgeInsetsMake(dots * [insests[@"top"] doubleValue],
|
||||||
dots * [insests[@"left"] doubleValue],
|
dots * [insests[@"left"] doubleValue],
|
||||||
@ -76,26 +77,4 @@
|
|||||||
formatter.perPageContentInsets = _contentInsets;
|
formatter.perPageContentInsets = _contentInsets;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark -
|
|
||||||
#pragma mark Private
|
|
||||||
|
|
||||||
- (double) pointsPerUnit:(NSString *)unit
|
|
||||||
{
|
|
||||||
if ([unit isEqualToString:@"in"])
|
|
||||||
return 72.0;
|
|
||||||
|
|
||||||
if ([unit isEqualToString:@"mm"])
|
|
||||||
return 72.0 / 25.4;
|
|
||||||
|
|
||||||
if ([unit isEqualToString:@"cm"])
|
|
||||||
return 72.0 / 2.54;
|
|
||||||
|
|
||||||
if (![unit isEqualToString:@"pp"])
|
|
||||||
{
|
|
||||||
NSLog(@"[cordova-plugin-printer] unit not recogniced: %@", unit);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@ -19,7 +19,8 @@
|
|||||||
under the License.
|
under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#import "APPPrinterPaper.h"
|
#include "APPPrinterPaper.h"
|
||||||
|
#include "APPPrinterUnit.h"
|
||||||
|
|
||||||
@implementation APPPrinterPaper
|
@implementation APPPrinterPaper
|
||||||
|
|
||||||
@ -30,7 +31,7 @@
|
|||||||
{
|
{
|
||||||
self = [self init];
|
self = [self init];
|
||||||
|
|
||||||
double dots = [self pointsPerUnit:spec[@"unit"]];
|
double dots = [APPPrinterUnit convert:spec[@"unit"]];
|
||||||
double length = [spec[@"length"] doubleValue];
|
double length = [spec[@"length"] doubleValue];
|
||||||
double height = [spec[@"height"] doubleValue];
|
double height = [spec[@"height"] doubleValue];
|
||||||
double width = [spec[@"width"] doubleValue];
|
double width = [spec[@"width"] doubleValue];
|
||||||
@ -57,26 +58,4 @@
|
|||||||
return paper;
|
return paper;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark -
|
|
||||||
#pragma mark Private
|
|
||||||
|
|
||||||
- (double) pointsPerUnit:(NSString*)unit
|
|
||||||
{
|
|
||||||
if ([unit isEqualToString:@"in"])
|
|
||||||
return 72.0;
|
|
||||||
|
|
||||||
if ([unit isEqualToString:@"mm"])
|
|
||||||
return 72.0 / 25.4;
|
|
||||||
|
|
||||||
if ([unit isEqualToString:@"cm"])
|
|
||||||
return 72.0 / 2.54;
|
|
||||||
|
|
||||||
if (![unit isEqualToString:@"pp"])
|
|
||||||
{
|
|
||||||
NSLog(@"[cordova-plugin-printer] unit not recogniced: %@", unit);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#include "APPPrinterLayout.h"
|
#include "APPPrinterLayout.h"
|
||||||
#include "APPPrinterRenderer.h"
|
#include "APPPrinterRenderer.h"
|
||||||
|
#include "APPPrinterUnit.h"
|
||||||
|
|
||||||
@implementation APPPrinterRenderer
|
@implementation APPPrinterRenderer
|
||||||
|
|
||||||
@ -46,13 +47,13 @@
|
|||||||
|
|
||||||
if (header)
|
if (header)
|
||||||
{
|
{
|
||||||
dots = [self pointsPerUnit:header[@"unit"]];
|
dots = [APPPrinterUnit convert:header[@"unit"]];
|
||||||
self.headerHeight = dots * [header[@"height"] doubleValue];
|
self.headerHeight = dots * [header[@"height"] doubleValue];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (footer)
|
if (footer)
|
||||||
{
|
{
|
||||||
dots = [self pointsPerUnit:header[@"unit"]];
|
dots = [APPPrinterUnit convert:header[@"unit"]];
|
||||||
self.footerHeight = dots * [footer[@"height"] doubleValue];
|
self.footerHeight = dots * [footer[@"height"] doubleValue];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,23 +95,4 @@
|
|||||||
[footer drawInRect:rect withAttributes:attrs];
|
[footer drawInRect:rect withAttributes:attrs];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (double) pointsPerUnit:(NSString*)unit
|
|
||||||
{
|
|
||||||
if ([unit isEqualToString:@"in"])
|
|
||||||
return 72.0;
|
|
||||||
|
|
||||||
if ([unit isEqualToString:@"mm"])
|
|
||||||
return 72.0 / 25.4;
|
|
||||||
|
|
||||||
if ([unit isEqualToString:@"cm"])
|
|
||||||
return 72.0 / 2.54;
|
|
||||||
|
|
||||||
if (![unit isEqualToString:@"pp"])
|
|
||||||
{
|
|
||||||
NSLog(@"[cordova-plugin-printer] unit not recogniced: %@", unit);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
26
src/ios/APPPrinterUnit.h
Normal file
26
src/ios/APPPrinterUnit.h
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2013 appPlant GmbH
|
||||||
|
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
or more contributor license agreements. See the NOTICE file
|
||||||
|
distributed with this work for additional information
|
||||||
|
regarding copyright ownership. The ASF licenses this file
|
||||||
|
to you under the Apache License, Version 2.0 (the
|
||||||
|
"License"); you may not use this file except in compliance
|
||||||
|
with the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing,
|
||||||
|
software distributed under the License is distributed on an
|
||||||
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
KIND, either express or implied. See the License for the
|
||||||
|
specific language governing permissions and limitations
|
||||||
|
under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@interface APPPrinterUnit : NSObject
|
||||||
|
|
||||||
|
+ (double) convert:(NSString *)unit;
|
||||||
|
|
||||||
|
@end
|
45
src/ios/APPPrinterUnit.m
Normal file
45
src/ios/APPPrinterUnit.m
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2013 appPlant GmbH
|
||||||
|
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
or more contributor license agreements. See the NOTICE file
|
||||||
|
distributed with this work for additional information
|
||||||
|
regarding copyright ownership. The ASF licenses this file
|
||||||
|
to you under the Apache License, Version 2.0 (the
|
||||||
|
"License"); you may not use this file except in compliance
|
||||||
|
with the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing,
|
||||||
|
software distributed under the License is distributed on an
|
||||||
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
KIND, either express or implied. See the License for the
|
||||||
|
specific language governing permissions and limitations
|
||||||
|
under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "APPPrinterUnit.h"
|
||||||
|
|
||||||
|
@implementation APPPrinterUnit
|
||||||
|
|
||||||
|
+ (double) convert:(NSString *)unit
|
||||||
|
{
|
||||||
|
if ([unit isEqualToString:@"in"])
|
||||||
|
return 72.0;
|
||||||
|
|
||||||
|
if ([unit isEqualToString:@"mm"])
|
||||||
|
return 72.0 / 25.4;
|
||||||
|
|
||||||
|
if ([unit isEqualToString:@"cm"])
|
||||||
|
return 72.0 / 2.54;
|
||||||
|
|
||||||
|
if (![unit isEqualToString:@"pp"])
|
||||||
|
{
|
||||||
|
NSLog(@"[cordova-plugin-printer] unit not recogniced: %@", unit);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
@ -22,7 +22,7 @@
|
|||||||
#include "APPPrinterInfo.h"
|
#include "APPPrinterInfo.h"
|
||||||
#include "UIPrintInteractionController+APPPrinter.h"
|
#include "UIPrintInteractionController+APPPrinter.h"
|
||||||
|
|
||||||
#import <objc/runtime.h>
|
#include <objc/runtime.h>
|
||||||
|
|
||||||
@implementation UIPrintInteractionController (APPPrinter)
|
@implementation UIPrintInteractionController (APPPrinter)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user