aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/apache/fop/fo/FOText.java
diff options
context:
space:
mode:
authorarved <arved@unknown>2001-05-19 00:59:33 +0000
committerarved <arved@unknown>2001-05-19 00:59:33 +0000
commite43a4c07efb8ef4159379fb213b761ee61fad246 (patch)
tree7f96b73e66f0d69fc767d8cf2d5b853af4fee2a5 /src/org/apache/fop/fo/FOText.java
parentc0459ac51d9f792eddadd1c44785722db686bf70 (diff)
downloadxmlgraphics-fop-e43a4c07efb8ef4159379fb213b761ee61fad246.tar.gz
xmlgraphics-fop-e43a4c07efb8ef4159379fb213b761ee61fad246.zip
Seshadri G.K.: memory buffering
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194257 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/org/apache/fop/fo/FOText.java')
-rw-r--r--src/org/apache/fop/fo/FOText.java73
1 files changed, 20 insertions, 53 deletions
diff --git a/src/org/apache/fop/fo/FOText.java b/src/org/apache/fop/fo/FOText.java
index 32c2fbe56..ae4971c71 100644
--- a/src/org/apache/fop/fo/FOText.java
+++ b/src/org/apache/fop/fo/FOText.java
@@ -1,52 +1,7 @@
-/*-- $Id$ --
-
- ============================================================================
- The Apache Software License, Version 1.1
- ============================================================================
-
- Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
- 3. The end-user documentation included with the redistribution, if any, must
- include the following acknowledgment: "This product includes software
- developed by the Apache Software Foundation (http://www.apache.org/)."
- Alternately, this acknowledgment may appear in the software itself, if
- and wherever such third-party acknowledgments normally appear.
-
- 4. The names "FOP" and "Apache Software Foundation" must not be used to
- endorse or promote products derived from this software without prior
- written permission. For written permission, please contact
- apache@apache.org.
-
- 5. Products derived from this software may not be called "Apache", nor may
- "Apache" appear in their name, without prior written permission of the
- Apache Software Foundation.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- This software consists of voluntary contributions made by many individuals
- on behalf of the Apache Software Foundation and was originally created by
- James Tauber <jtauber@jtauber.com>. For more information on the Apache
- Software Foundation, please see <http://www.apache.org/>.
-
+/* $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources."
*/
package org.apache.fop.fo;
@@ -60,13 +15,14 @@ import org.apache.fop.layout.*;
import org.apache.fop.datatypes.*;
import org.apache.fop.fo.properties.*;
import org.apache.fop.apps.FOPException;
+import org.apache.fop.system.BufferManager;
/**
* a text node in the formatting object tree
*/
public class FOText extends FONode {
- protected char[] ca;
+ // protected char[] ca;
protected int start;
protected int length;
@@ -89,10 +45,18 @@ public class FOText extends FONode {
public FOText(char[] chars, int s, int e, FObj parent) {
super(parent);
this.start = 0;
- this.ca = new char[e - s];
+ char ca[] = new char[e - s];
for (int i = s; i < e; i++)
- this.ca[i - s] = chars[i];
+ ca[i - s] = chars[i];
this.length = e - s;
+ this.bufferManager = parent.bufferManager;
+ if (this.bufferManager != null) {
+ bufferManager.writeBuffer((Object) this, ca);
+ }
+ else {
+ System.out.println("abnormal exit");
+ System.exit(0);
+ }
}
public void setUnderlined(boolean ul) {
@@ -110,11 +74,13 @@ public class FOText extends FONode {
public boolean willCreateArea()
{
+ char ca[] = this.bufferManager.readBuffer((Object) this);
this.whiteSpaceCollapse = this.parent.properties.get(
"white-space-collapse").getEnum();
if(this.whiteSpaceCollapse == WhiteSpaceCollapse.FALSE && length > 0) {
return true;
}
+
for (int i = start; i < start + length; i++) {
char ch = ca[i];
if (!((ch == ' ') || (ch == '\n') || (ch == '\r') ||
@@ -126,6 +92,7 @@ public class FOText extends FONode {
}
public Status layout(Area area) throws FOPException {
+ char ca[] = this.bufferManager.readBuffer((Object) this);
if (!(area instanceof BlockArea)) {
MessageHandler.errorln("WARNING: text outside block area" +
new String(ca, start, length));
@@ -152,7 +119,7 @@ public class FOText extends FONode {
this.red = c.red();
this.green = c.green();
this.blue = c.blue();
-
+
this.verticalAlign = this.parent.properties.get("vertical-align").getEnum();
this.wrapOption =