/*
* 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.
*/
package org.apache.pdfbox.pdmodel.graphics.state;
/**
* Text Rendering Mode.
*
* @author John Hewson
*/
public enum RenderingMode
{
/**
* Fill text.
*/
FILL(0),
/**
* Stroke text.
*/
STROKE(1),
/**
* Fill, then stroke text.
*/
FILL_STROKE(2),
/**
* Neither fill nor stroke text (invisible)
*/
NEITHER(3),
/**
* Fill text and add to path for clipping.
*/
FILL_CLIP(4),
/**
* Stroke text and add to path for clipping.
*/
STROKE_CLIP(5),
/**
* Fill, then stroke text and add to path for clipping.
*/
FILL_STROKE_CLIP(6),
/**
* Add text to path for clipping.
*/
NEITHER_CLIP(7);
private static final RenderingMode[] VALUES = RenderingMode.values();
public static RenderingMode fromInt(int value)
{
return VALUES[value];
}
private final int value;
RenderingMode(int value)
{
this.value = value;
}
/**
* Returns the integer value of this mode, as used in a PDF file.
*/
public int intValue()
{
return value;
}
/**
* Returns true is this mode fills text.
*/
public boolean isFill()
{
return this == FILL ||
this == FILL_STROKE ||
this == FILL_CLIP ||
this == FILL_STROKE_CLIP;
}
/**
* Returns true is this mode strokes text.
*/
public boolean isStroke()
{
return this == STROKE ||
this == FILL_STROKE ||
this == STROKE_CLIP ||
this == FILL_STROKE_CLIP;
}
/**
* Returns true is this mode clips text.
*/
public boolean isClip()
{
return this == FILL_CLIP ||
this == STROKE_CLIP ||
this == FILL_STROKE_CLIP ||
this == NEITHER_CLIP;
}
}