//
// IFXPDFTextLinesSample.m
// IFXPDFFactory-iOS-SamplesBrowser
//
// Created by Sorin Nistor on 11/12/13.
// Copyright (c) 2013 IFXFactory. All rights reserved.
//
#import "IFXPDFTextLinesSample.h"
@implementation IFXPDFTextLinesSample
+ (IFXPDFDocument*) run
{
IFXPDFDocument* pdfDocument = [[IFXPDFDocument alloc] init];
IFXPDFPage* page = [IFXPDFPage emptyPage];
[pdfDocument.pages addPage:page];
IFXPDFBrush* blackBrush = [IFXPDFBrush brushWithColor:[IFXPDFRgbColor blackColor]];
IFXPDFPen* redPen = [IFXPDFPen penWithColor:[IFXPDFRgbColor redColor] andWidth:1];
IFXPDFFont* titleFont = [[IFXPDFFont alloc] init];
titleFont.fontFace = IFXPDFHelveticaBoldFontFace;
titleFont.size = 24;
[page.graphics drawText:@"Text Lines" withFont:titleFont brush:blackBrush atX:20 y:50];
[page.graphics drawLineWithPen:redPen fromX1:20 y1:80 toX2:400 y2:80];
[page.graphics drawLineWithPen:redPen fromX1:20 y1:80 toX2:20 y2:100];
IFXPDFFont* helvetica = [[IFXPDFFont alloc] init];
helvetica.fontFace = IFXPDFHelveticaFontFace;
helvetica.size = 16;
[page.graphics drawText:@"Text lines have top left alignment by default." withFont:helvetica brush:blackBrush atX:20 y:80];
[page.graphics drawText:@"Text align modes" withFont:helvetica brush:blackBrush atX:20 y:200];
// Draw the alignment grid.
[page.graphics drawLineWithPen:redPen fromX1:20 y1:240 toX2:600 y2:240];
[page.graphics drawLineWithPen:redPen fromX1:20 y1:280 toX2:600 y2:280];
[page.graphics drawLineWithPen:redPen fromX1:20 y1:320 toX2:600 y2:320];
[page.graphics drawLineWithPen:redPen fromX1:20 y1:240 toX2:20 y2:320];
[page.graphics drawLineWithPen:redPen fromX1:310 y1:240 toX2:310 y2:320];
[page.graphics drawLineWithPen:redPen fromX1:600 y1:240 toX2:600 y2:320];
[page.graphics drawText:@"TOP LEFT" withFont:helvetica brush:blackBrush
atX:20 y:240 rotation:0
horizontalAlign:IFXPDFTextLeftHorizontalAlign verticalAlign:IFXPDFTextTopVerticalAlign];
[page.graphics drawText:@"TOP CENTER" withFont:helvetica brush:blackBrush
atX:310 y:240 rotation:0
horizontalAlign:IFXPDFTextCenterHorizontalAlign verticalAlign:IFXPDFTextTopVerticalAlign];
[page.graphics drawText:@"TOP RIGHT" withFont:helvetica brush:blackBrush
atX:600 y:240 rotation:0
horizontalAlign:IFXPDFTextRightHorizontalAlign verticalAlign:IFXPDFTextTopVerticalAlign];
[page.graphics drawText:@"MIDDLE LEFT" withFont:helvetica brush:blackBrush
atX:20 y:280 rotation:0
horizontalAlign:IFXPDFTextLeftHorizontalAlign verticalAlign:IFXPDFTextMiddleVerticalAlign];
[page.graphics drawText:@"MIDDLE CENTER" withFont:helvetica brush:blackBrush
atX:310 y:280 rotation:0
horizontalAlign:IFXPDFTextCenterHorizontalAlign verticalAlign:IFXPDFTextMiddleVerticalAlign];
[page.graphics drawText:@"MIDDLE RIGHT" withFont:helvetica brush:blackBrush
atX:600 y:280 rotation:0
horizontalAlign:IFXPDFTextRightHorizontalAlign verticalAlign:IFXPDFTextMiddleVerticalAlign];
[page.graphics drawText:@"BOTTOM LEFT" withFont:helvetica brush:blackBrush
atX:20 y:320 rotation:0
horizontalAlign:IFXPDFTextLeftHorizontalAlign verticalAlign:IFXPDFTextBottomVerticalAlign];
[page.graphics drawText:@"BOTTOM CENTER" withFont:helvetica brush:blackBrush
atX:310 y:320 rotation:0
horizontalAlign:IFXPDFTextCenterHorizontalAlign verticalAlign:IFXPDFTextBottomVerticalAlign];
[page.graphics drawText:@"BOTTOM RIGHT" withFont:helvetica brush:blackBrush
atX:600 y:320 rotation:0
horizontalAlign:IFXPDFTextRightHorizontalAlign verticalAlign:IFXPDFTextBottomVerticalAlign];
[page.graphics drawText:@"Combine text align modes and text rotation (30 degrees)" withFont:helvetica brush:blackBrush atX:20 y:400];
// Draw the alignment grid.
[page.graphics drawLineWithPen:redPen fromX1:20 y1:440 toX2:600 y2:440];
[page.graphics drawLineWithPen:redPen fromX1:20 y1:480 toX2:600 y2:480];
[page.graphics drawLineWithPen:redPen fromX1:20 y1:520 toX2:600 y2:520];
[page.graphics drawLineWithPen:redPen fromX1:20 y1:440 toX2:20 y2:520];
[page.graphics drawLineWithPen:redPen fromX1:310 y1:440 toX2:310 y2:520];
[page.graphics drawLineWithPen:redPen fromX1:600 y1:440 toX2:600 y2:520];
[page.graphics drawText:@"TOP LEFT" withFont:helvetica brush:blackBrush
atX:20 y:440 rotation:30
horizontalAlign:IFXPDFTextLeftHorizontalAlign verticalAlign:IFXPDFTextTopVerticalAlign];
[page.graphics drawText:@"TOP CENTER" withFont:helvetica brush:blackBrush
atX:310 y:440 rotation:30
horizontalAlign:IFXPDFTextCenterHorizontalAlign verticalAlign:IFXPDFTextTopVerticalAlign];
[page.graphics drawText:@"TOP RIGHT" withFont:helvetica brush:blackBrush
atX:600 y:440 rotation:30
horizontalAlign:IFXPDFTextRightHorizontalAlign verticalAlign:IFXPDFTextTopVerticalAlign];
[page.graphics drawText:@"MIDDLE LEFT" withFont:helvetica brush:blackBrush
atX:20 y:480 rotation:30
horizontalAlign:IFXPDFTextLeftHorizontalAlign verticalAlign:IFXPDFTextMiddleVerticalAlign];
[page.graphics drawText:@"MIDDLE CENTER" withFont:helvetica brush:blackBrush
atX:310 y:480 rotation:30
horizontalAlign:IFXPDFTextCenterHorizontalAlign verticalAlign:IFXPDFTextMiddleVerticalAlign];
[page.graphics drawText:@"MIDDLE RIGHT" withFont:helvetica brush:blackBrush
atX:600 y:480 rotation:30
horizontalAlign:IFXPDFTextRightHorizontalAlign verticalAlign:IFXPDFTextMiddleVerticalAlign];
[page.graphics drawText:@"BOTTOM LEFT" withFont:helvetica brush:blackBrush
atX:20 y:520 rotation:30
horizontalAlign:IFXPDFTextLeftHorizontalAlign verticalAlign:IFXPDFTextBottomVerticalAlign];
[page.graphics drawText:@"BOTTOM CENTER" withFont:helvetica brush:blackBrush
atX:310 y:520 rotation:30
horizontalAlign:IFXPDFTextCenterHorizontalAlign verticalAlign:IFXPDFTextBottomVerticalAlign];
[page.graphics drawText:@"BOTTOM RIGHT" withFont:helvetica brush:blackBrush
atX:600 y:520 rotation:30
horizontalAlign:IFXPDFTextRightHorizontalAlign verticalAlign:IFXPDFTextBottomVerticalAlign];
return pdfDocument;
}
@end