am dad4780b: Merge change I3834b1cb into eclair-mr2
Merge commit 'dad4780bbd6be0891ea8745bd274fc8d6882f071' into eclair-mr2-plus-aosp * commit 'dad4780bbd6be0891ea8745bd274fc8d6882f071': support for multiline paragraph style indentation
This commit is contained in:
@@ -143781,6 +143781,29 @@
|
|||||||
</parameter>
|
</parameter>
|
||||||
</method>
|
</method>
|
||||||
</interface>
|
</interface>
|
||||||
|
<interface name="LeadingMarginSpan.LeadingMarginSpan2"
|
||||||
|
abstract="true"
|
||||||
|
static="true"
|
||||||
|
final="false"
|
||||||
|
deprecated="not deprecated"
|
||||||
|
visibility="public"
|
||||||
|
>
|
||||||
|
<implements name="android.text.style.LeadingMarginSpan">
|
||||||
|
</implements>
|
||||||
|
<implements name="android.text.style.WrapTogetherSpan">
|
||||||
|
</implements>
|
||||||
|
<method name="getLeadingMarginLineCount"
|
||||||
|
return="int"
|
||||||
|
abstract="true"
|
||||||
|
native="false"
|
||||||
|
synchronized="false"
|
||||||
|
static="false"
|
||||||
|
final="false"
|
||||||
|
deprecated="not deprecated"
|
||||||
|
visibility="public"
|
||||||
|
>
|
||||||
|
</method>
|
||||||
|
</interface>
|
||||||
<class name="LeadingMarginSpan.Standard"
|
<class name="LeadingMarginSpan.Standard"
|
||||||
extends="java.lang.Object"
|
extends="java.lang.Object"
|
||||||
abstract="false"
|
abstract="false"
|
||||||
|
|||||||
@@ -294,7 +294,12 @@ public abstract class Layout {
|
|||||||
lbaseline, lbottom, buf,
|
lbaseline, lbottom, buf,
|
||||||
start, end, par, this);
|
start, end, par, this);
|
||||||
|
|
||||||
left += margin.getLeadingMargin(par);
|
boolean useMargin = par;
|
||||||
|
if (margin instanceof LeadingMarginSpan.LeadingMarginSpan2) {
|
||||||
|
int count = ((LeadingMarginSpan.LeadingMarginSpan2)margin).getLeadingMarginLineCount();
|
||||||
|
useMargin = count > i;
|
||||||
|
}
|
||||||
|
left += margin.getLeadingMargin(useMargin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1293,7 +1298,13 @@ public abstract class Layout {
|
|||||||
LeadingMarginSpan.class);
|
LeadingMarginSpan.class);
|
||||||
|
|
||||||
for (int i = 0; i < spans.length; i++) {
|
for (int i = 0; i < spans.length; i++) {
|
||||||
left += spans[i].getLeadingMargin(par);
|
boolean margin = par;
|
||||||
|
LeadingMarginSpan span = spans[i];
|
||||||
|
if (span instanceof LeadingMarginSpan.LeadingMarginSpan2) {
|
||||||
|
int count = ((LeadingMarginSpan.LeadingMarginSpan2)span).getLeadingMarginLineCount();
|
||||||
|
margin = count >= line;
|
||||||
|
}
|
||||||
|
left += span.getLeadingMargin(margin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -161,6 +161,7 @@ extends Layout
|
|||||||
else
|
else
|
||||||
end++;
|
end++;
|
||||||
|
|
||||||
|
int firstWidthLineCount = 1;
|
||||||
int firstwidth = outerwidth;
|
int firstwidth = outerwidth;
|
||||||
int restwidth = outerwidth;
|
int restwidth = outerwidth;
|
||||||
|
|
||||||
@@ -171,8 +172,12 @@ extends Layout
|
|||||||
|
|
||||||
sp = spanned.getSpans(start, end, LeadingMarginSpan.class);
|
sp = spanned.getSpans(start, end, LeadingMarginSpan.class);
|
||||||
for (int i = 0; i < sp.length; i++) {
|
for (int i = 0; i < sp.length; i++) {
|
||||||
|
LeadingMarginSpan lms = sp[i];
|
||||||
firstwidth -= sp[i].getLeadingMargin(true);
|
firstwidth -= sp[i].getLeadingMargin(true);
|
||||||
restwidth -= sp[i].getLeadingMargin(false);
|
restwidth -= sp[i].getLeadingMargin(false);
|
||||||
|
if (lms instanceof LeadingMarginSpan.LeadingMarginSpan2) {
|
||||||
|
firstWidthLineCount = ((LeadingMarginSpan.LeadingMarginSpan2)lms).getLeadingMarginLineCount();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
chooseht = spanned.getSpans(start, end, LineHeightSpan.class);
|
chooseht = spanned.getSpans(start, end, LineHeightSpan.class);
|
||||||
@@ -750,7 +755,9 @@ extends Layout
|
|||||||
fitascent = fitdescent = fittop = fitbottom = 0;
|
fitascent = fitdescent = fittop = fitbottom = 0;
|
||||||
okascent = okdescent = oktop = okbottom = 0;
|
okascent = okdescent = oktop = okbottom = 0;
|
||||||
|
|
||||||
width = restwidth;
|
if (--firstWidthLineCount <= 0) {
|
||||||
|
width = restwidth;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,11 @@ extends ParagraphStyle
|
|||||||
CharSequence text, int start, int end,
|
CharSequence text, int start, int end,
|
||||||
boolean first, Layout layout);
|
boolean first, Layout layout);
|
||||||
|
|
||||||
|
|
||||||
|
public interface LeadingMarginSpan2 extends LeadingMarginSpan, WrapTogetherSpan {
|
||||||
|
public int getLeadingMarginLineCount();
|
||||||
|
};
|
||||||
|
|
||||||
public static class Standard implements LeadingMarginSpan, ParcelableSpan {
|
public static class Standard implements LeadingMarginSpan, ParcelableSpan {
|
||||||
private final int mFirst, mRest;
|
private final int mFirst, mRest;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user