###############################################################################
# Copyright (c) 2005, 2007 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
AdvancedGraphics=Advanced Graphics
GraphicsExample=Graphics Example
SWTGraphics=SWT Graphics
Warning=Warning
LibNotFound=Advanced graphics library not found. Some examples will not display.
Settings=Settings
Play=Play
Pause=Pause
Background=Background
DoubleBuffer=Double Buffer
White=White
Black=Black
Red=Red
Green=Green
Blue=Blue
Cyan=Cyan
Yellow=Yellow	
CustomColor=Custom Color
CustomPattern=Custom Pattern
Pattern1=Pink Losange
Pattern2=Purple Checkers
Pattern3=Blue Pentagon
Animation=Animation
StarPolygon=Star Polygon
Line=Line
BlackHole=Black Hole
FillRule=Fill Rule
Polygons=Polygons
Introduction=Introduction
SWT=SWT
Bounce=Bounce
Font=Font
Misc=Misc
Countdown=Countdown
LineWidth=Line Width
Antialiasing=Antialiasing
LineCap=Line Cap
Spiral=Spiral
Petals=Petals
Gradient=Gradient
GradImage=Gradient Image
SwapColors=Swap Colors
Curves=Curves
Cubic=Cubic
Quadratic=Quadratic
Lines=Lines
Flat=Flat
Square=Square
Round=Round
LineStyles=Line Styles
GradientDlgMsg=Please select two colors:
GradientDlgButton1=Color 1
GradientDlgButton2=Color 2
GradientTabItem1=Color 1
GradientTabItem2=Color 2
Alpha=Alpha
CustomFont=Custom Font
Regular=Regular
Italic=Italic
Bold=Bold
BoldItalic=Bold Italic
FontFace=Face
FontStyle=Style
FontSize=Size
Color=Color
Clipping=Clipping
PathClipping=Path Clipping
Circles=Circles
Rectangle=Rectangle
Oval=Oval
Word=Word
Star=Star
Triangles=Triangles
Default=Default
RegionClipping=Region Clipping
Region1=Region 1
Region2=Region 2
Add=Add
Sub=Subtract
Inter=Intersect
Interpolation=Interpolation
Image=Image
OriginalImg=Original Image
House=House
Question=Question
Task=Task
Cube=Cube
Ovals=Ovals
None=None
Low=Low
Default=Default
High=High
Transform=Transform
Cards=Cards
Solid=Solid
Dash=Dash
Dot=Dot
DashDot=Dash Dot
DashDotDot=Dash Dot Dot
LineJoin=Line Join
bevel=BEVEL
miter=MITER
round=ROUND
Ball=Ball
CustomAlpha=Custom Alpha
Maze=Maze
rgb=RGB
Graphics=Graphics
Flip=Flip
Scale=Scale
Rotate=Rotate
xtranslate=X-Translate
ytranslate=Y-Translate
xscale=X-Scale
yscale=Y-Scale
Invert=Invert Matrix
Path=Path
PathOper=Path Operations
DrawPath=Draw Path
FillPath=Fill Path
ClosePath=Close Path
FillColor=Fill Color
Text=Text
Shapes=Shapes
Next=Next
Back=Back
AnimPathClipping=Animated Path Clipping
##### ------------------ Tab Descriptions ------------------ #####
AlphaDescription=This tab demonstrates alpha blending. It draws various shapes and images as alpha values change.
BallDescription=This tab uses alpha blending to simulate \"ghosting\" of a ball in movement.
BlackHoleDescription=This is a miscellaneous demonstration that makes use of the fillOval() operation to simulate a black hole.
CardsDescription=This tab demonstrates various transformations, such as scaling, rotation, and translation.
CountdownDescription=This miscellaneous tab presents a count down from 5 to 1, then displays SWT.
CurvesSWTDescription=This tab presents cubic and quadratic curves that can be drawn.  As a demonstration, cubic and quadratic curves are used to spell out \"SWT\".  The user may reposition the cubic and quadratic handles.
CurvesDescription=This tab presents cubic and quadratic curves that can be drawn.  The user may reposition the cubic and quadratic handles
CustomAlphaDescription=This tab demonstrates the use of alpha blending.  It allows a user to specify a custom alpha value.
CustomFontDescription=This tab demonstrates various text fonts.  It allows the user to specify font parameters such as face, style and size.
FontBounceDescription=This tab is an animated graphic. It presents the word SWT in different fonts as it bounces around the screen.
GradientImageDescription=This tab is an animated graphic. It presents the word SWT in different fonts as it bounces around the screen.
AntialiasingGraphicsDesc=This tab demonstrates antialiasing for graphics. Antialiasing is used for smoothing jagged edges in graphics. This tab allows the user to see the effects of different antialiasing values.
FlipDescription=This tab demonstrates how an image can be flipped in various fashions.
ScaleDescription=This tab demonstrates how an image can be scaled. Resize the shell, and the image will scale with it.
TransformImgDescription=This tab demonstrates transformations, such as scaling, rotation, and invert.  It allows the user to specify values for scaling and rotation.
ImageInterpolationDesc=This tab shows the effects of applying various interpolation algorithms to images that have been stretched or shrunk.
IntroductionDescription=This is the introduction tab.  This demonstration makes use of a path clipping.
LineCapDescription=This tab demonstrates various line caps applicable to a line.
LineJoinDescription=This tab demonstrates various line joins. It allows a user to choose from bevel, miter and round.
LineStylesDescription=This tab demonstrates line styles applicable to a line.  It shows the use of the setLineStyle() method.
LineDescription=This tab draws two lines.
MazeDescription=This is a miscellaneous demonstration.  Three objects move through the maze, each following a different path.  Only one of the three follows the correct path.
AnimPathClippingDesc=This tab demonstrates the use of path clipping.  A clipping is the area onto which a drawing is made visible.  The default clipping is the entire canvas (all the space in the right panel).  However, one can set the clipping to be something different.  In this tab, the clipping is the set of triangles, rectangles and the circle.  When the blue rectangle is drawn, only the portions of the blue rectangle appearing in the clipping are visible.
PathClippingDesc=This tab demonstrates the use of path clipping.  A clipping is the area onto which a drawing is made visible.  The default clipping is the entire canvas (all the space in the right panel).  However, one can set the clipping to be something different.
PathOperDescription=This tab demonstrates the use of paths. It allows the user to see the differences between filling, drawing and closing paths.
rgbDescription=Miscellaneous tab that demonstrates emerging colors from layering other colors.
RegionClippingDescription=This tab demonstrates how to apply a region clipping and the effects of applying one.  It also demonstrates the operations that can be applied between two regions.
ShapesDescription=This tab draws 3D shapes (in 2D) using various line styles.
SpiralDescription=Miscellaneous tab that presents a spiral consisting of the number of petals specified.
StarPolygonDescription=This tab draws a polygon and shows the effects of setting different fill rules: SWT.FILL_WINDING or SWT.FILL_EVEN_ODD
AntialiasingTextDesc=This tab demonstrates antialiasing for text. Antialiasing is used for smoothing jagged edges in graphics. This tab allows the user to see the effects of different antialiasing values.
