From c27e08b2b3d51a2649195c23b7f9b56475fd0250 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Sun, 11 Mar 2012 05:24:46 +0000 Subject: [PATCH] Support alignments other than center for text drawing. --- Library.mm | 16 +++++++++++++++- WBMarkup.h | 6 ++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Library.mm b/Library.mm index 85ee865..55dfeb0 100644 --- a/Library.mm +++ b/Library.mm @@ -717,8 +717,22 @@ MSInstanceMessageHook7(CGSize, NSString, _drawInRect,withFont,lineBreakMode,alig if (info == nil) return MSOldCall(rect, font, mode, alignment, spacing, emoji, truncation); + NSString *textAlign; + switch (alignment) { + default: + case WebTextAlignmentLeft: + textAlign = @"left"; + break; + case WebTextAlignmentCenter: + textAlign = @"center"; + break; + case WebTextAlignmentRight: + textAlign = @"right"; + break; + } + NSString *base(state->base_ ?: @""); - NSString *extra(@"text-align: center"); + NSString *extra([NSString stringWithFormat:@"text-align: %@", textAlign]); [self drawInRect:rect withStyle:[NSString stringWithFormat:@"%@;%@;%@;%@", [font markupDescription], extra, base, info]]; return CGSizeZero; } diff --git a/WBMarkup.h b/WBMarkup.h index 24645e0..d396a8e 100644 --- a/WBMarkup.h +++ b/WBMarkup.h @@ -7,6 +7,12 @@ @class WAKWindow; @class WebView; +typedef enum { + WebTextAlignmentLeft = 0, + WebTextAlignmentCenter = 1, + WebTextAlignmentRight = 2, +} WebTextAlignment; + @interface WBMarkup : NSObject { /*04*/ WebView *view_; /*08*/ DOMDocument *document_; -- 2.47.2