Newer
Older
require 'test/unit'
require 'fox16'
class TC_FXDC < Test::Unit::TestCase
def setup
if FXApp.instance.nil?
@app = FXApp.new('TC_FXDC', 'FXRuby')
@app.init([])
else
@app = FXApp.instance
end
@dc = FXDC.new(@app)
end
def testGetApp
app = @dc.app
assert(app)
assert_kind_of(FXApp, app)
assert_same(@app, app)
end
def testReadPixel
x, y = 0, 0
pixel = @dc.readPixel(x, y)
assert(pixel)
end
def testDrawPoint
@dc.drawPoint(0, 0)
end
def testDrawPoints
p1 = FXPoint.new
p2 = FXPoint.new
@dc.drawPoints([p1, p2])
end
def testDrawPointsRel
p1 = FXPoint.new
p2 = FXPoint.new
@dc.drawPointsRel([p1, p2])
end
def testDrawLine
x1, y1, x2, y2 = 0, 0, 5, 5
@dc.drawLine(x1, y1, x2, y2)
end
def testDrawLines
points = [ FXPoint.new, FXPoint.new ]
@dc.drawLines(points)
end
def testDrawLinesRel
points = [ FXPoint.new, FXPoint.new ]
@dc.drawLinesRel(points)
end
def testDrawLineSegments
segments = [ FXSegment.new, FXSegment.new ]
@dc.drawLineSegments(segments)
end
def testDrawArc
x, y, w, h, ang1, ang2 = 0, 0, 10, 10, 45, 135
@dc.drawArc(x, y, w, h, ang1, ang2)
end
def testDrawArcs
arcs = [ FXArc.new, FXArc.new ]
@dc.drawArcs(arcs)
end
def testFillRectangle
x, y, w, h = 0, 0, 20, 20
@dc.fillRectangle(x, y, w, h)
end
def testFillRectangles
rectangles = [ FXRectangle.new, FXRectangle.new ]
@dc.fillRectangles(rectangles)
end
def testFillArc
x, y, w, h, ang1, ang2 = 0, 0, 10, 10, 45, 135
@dc.fillArc(x, y, w, h, ang1, ang2)
end
def testFillArcs
arcs = [ FXArc.new, FXArc.new ]
@dc.fillArcs(arcs)
end
def testFillPolygon
points = [ FXPoint.new, FXPoint.new ]
@dc.fillPolygon(points)
end
def testFillConcavePolygon
points = [ FXPoint.new, FXPoint.new ]
@dc.fillConcavePolygon(points)
end
def testFillComplexPolygon
points = [ FXPoint.new, FXPoint.new ]
@dc.fillComplexPolygon(points)
end
def testFillPolygonRel
points = [ FXPoint.new, FXPoint.new ]
@dc.fillPolygonRel(points)
end
def testFillConcavePolygonRel
points = [ FXPoint.new, FXPoint.new ]
@dc.fillConcavePolygonRel(points)
end
def testFillComplexPolygonRel
points = [ FXPoint.new, FXPoint.new ]
@dc.fillComplexPolygonRel(points)
end
def testDrawHashBox
x, y, w, h, b = 0, 0, 20, 20, 2
@dc.drawHashBox(x, y, w, h)
@dc.drawHashBox(x, y, w, h, b)
end
def testDrawFocusRectangle
x, y, w, h = 0, 0, 5, 5
@dc.drawFocusRectangle(x, y, w, h)
end
def testDrawArea
source = FXImage.new(@app)
sx, sy, sw, sh = 0, 0, 10, 10
dx, dy = 0, 0
@dc.drawArea(source, sx, sy, sw, sh, dx, dy)
end
def testDrawImage
image, dx, dy = FXImage.new(@app), 0, 0
@dc.drawImage(image, dx, dy)
end
def testDrawBitmap
bitmap, dx, dy = FXBitmap.new(@app), 0, 0
@dc.drawBitmap(bitmap, dx, dy)
end
def testDrawIcon
icon, dx, dy = FXIcon.new(@app), 0, 0
@dc.drawIcon(icon, dx, dy)
end
def testDrawIconSunken
icon, dx, dy = FXIcon.new(@app), 0, 0
@dc.drawIconSunken(icon, dx, dy)
end
def testDrawIconShaded
icon, dx, dy = FXIcon.new(@app), 0, 0
@dc.drawIconShaded(icon, dx, dy)
end
def testDrawText
x, y, str = 0, 0, "Hello"
@dc.drawText(x, y, str)
end
def testDrawImageText
x, y, str = 0, 0, "Hello"
@dc.drawImageText(x, y, str)
end
def testForeground
fg = FXRGB(192, 192, 192)
@dc.setForeground(fg)
assert_equal(fg, @dc.foreground)
assert_equal(fg, @dc.getForeground)
@dc.foreground = fg
assert_equal(fg, @dc.foreground)
assert_equal(fg, @dc.getForeground)
end
def testBackground
bg = FXRGB(192, 192, 192)
@dc.setBackground(bg)
assert_equal(bg, @dc.background)
assert_equal(bg, @dc.getBackground)
@dc.background = bg
assert_equal(bg, @dc.background)
assert_equal(bg, @dc.getBackground)
end
def testDashes
dashOffset, dashPattern = 0, [1, 2, 3, 4]
@dc.setDashes(dashOffset, dashPattern)
assert_equal(dashPattern, @dc.dashPattern)
assert_equal(dashPattern, @dc.getDashPattern())
assert_equal(dashOffset, @dc.dashOffset)
assert_equal(dashOffset, @dc.getDashOffset())
end
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
def testLineWidth
lineWidth = 2
@dc.setLineWidth(lineWidth)
assert_equal(lineWidth, @dc.lineWidth)
assert_equal(lineWidth, @dc.getLineWidth())
@dc.lineWidth = lineWidth
assert_equal(lineWidth, @dc.lineWidth)
assert_equal(lineWidth, @dc.getLineWidth())
end
def testLineCap
for lineCap in [CAP_NOT_LAST, CAP_BUTT, CAP_ROUND, CAP_PROJECTING]
@dc.setLineCap(lineCap)
assert_equal(lineCap, @dc.lineCap)
assert_equal(lineCap, @dc.getLineCap())
@dc.lineCap = lineCap
assert_equal(lineCap, @dc.lineCap)
assert_equal(lineCap, @dc.getLineCap())
end
end
def testLineJoin
for lineJoin in [JOIN_MITER, JOIN_ROUND, JOIN_BEVEL]
@dc.setLineJoin(lineJoin)
assert_equal(lineJoin, @dc.lineJoin)
assert_equal(lineJoin, @dc.getLineJoin())
@dc.lineJoin = lineJoin
assert_equal(lineJoin, @dc.lineJoin)
assert_equal(lineJoin, @dc.getLineJoin())
end
end
def testLineStyle
for lineStyle in [LINE_SOLID, LINE_ONOFF_DASH, LINE_DOUBLE_DASH]
@dc.setLineStyle(lineStyle)
assert_equal(lineStyle, @dc.lineStyle)
assert_equal(lineStyle, @dc.getLineStyle())
@dc.lineStyle = lineStyle
assert_equal(lineStyle, @dc.lineStyle)
assert_equal(lineStyle, @dc.getLineStyle())
end
end
def testFillStyle
for fillStyle in [FILL_SOLID, FILL_TILED, FILL_STIPPLED, FILL_OPAQUESTIPPLED]
@dc.setFillStyle(fillStyle)
assert_equal(fillStyle, @dc.fillStyle)
assert_equal(fillStyle, @dc.getFillStyle())
@dc.fillStyle = fillStyle
assert_equal(fillStyle, @dc.fillStyle)
assert_equal(fillStyle, @dc.getFillStyle())
end
end
def testFillRule
for fillRule in [RULE_EVEN_ODD, RULE_WINDING]
@dc.setFillRule(fillRule)
assert_equal(fillRule, @dc.fillRule)
assert_equal(fillRule, @dc.getFillRule())
@dc.fillRule = fillRule
assert_equal(fillRule, @dc.fillRule)
assert_equal(fillRule, @dc.getFillRule())
end
end
def testFunction
for func in [BLT_CLR, BLT_SRC_AND_DST, BLT_SRC_AND_NOT_DST, BLT_SRC,
BLT_NOT_SRC_AND_DST, BLT_DST, BLT_SRC_XOR_DST, BLT_SRC_OR_DST,
BLT_NOT_SRC_AND_NOT_DST, BLT_NOT_SRC_XOR_DST, BLT_NOT_DST,
BLT_SRC_OR_NOT_DST, BLT_NOT_SRC, BLT_NOT_SRC_OR_DST,
BLT_NOT_SRC_OR_NOT_DST, BLT_SET]
@dc.setFunction(func)
assert_equal(func, @dc.function)
assert_equal(func, @dc.getFunction())
@dc.function = func
assert_equal(func, @dc.function)
assert_equal(func, @dc.getFunction())
end
end
def testTile
image, dx, dy = FXImage.new(@app), 0, 0
@dc.setTile(image)
@dc.setTile(image, dx)
@dc.setTile(image, dx, dy)
assert_same(image, @dc.tile)
assert_same(image, @dc.getTile())
end
def testStippleBitmap
bitmap, dx, dy = FXBitmap.new(@app), 0, 0
@dc.setStipple(bitmap)
@dc.setStipple(bitmap, dx)
@dc.setStipple(bitmap, dx, dy)
assert_same(bitmap, @dc.stippleBitmap)
assert_same(bitmap, @dc.getStippleBitmap())
end
def testStipplePattern
dx, dy = 0, 0
patterns = [STIPPLE_0, STIPPLE_NONE, STIPPLE_BLACK, STIPPLE_1,
STIPPLE_2, STIPPLE_3, STIPPLE_4, STIPPLE_5, STIPPLE_6,
STIPPLE_7, STIPPLE_8, STIPPLE_GRAY, STIPPLE_9, STIPPLE_10,
STIPPLE_11, STIPPLE_12, STIPPLE_13, STIPPLE_14, STIPPLE_15,
STIPPLE_16, STIPPLE_WHITE, STIPPLE_HORZ, STIPPLE_VERT, STIPPLE_CROSS,
STIPPLE_DIAG, STIPPLE_REVDIAG, STIPPLE_CROSSDIAG]
for pat in patterns
@dc.setStipple(pat)
@dc.setStipple(pat, dx)
@dc.setStipple(pat, dx, dy)
assert_equal(pat, @dc.stipplePattern)
assert_equal(pat, @dc.getStipplePattern())
end
end
# def testClipRegion
# region = FXRegion.new(0, 0, 10, 10)
# @dc.setClipRegion(region)
# end
def testClipRectangle
clipX, clipY, clipWidth, clipHeight = 0, 0, 10, 20
clipRectangle = FXRectangle.new(clipX, clipY, clipWidth, clipHeight)
@dc.setClipRectangle(clipX, clipY, clipWidth, clipHeight)
# assert_equal(clipX, @dc.clipX)
# assert_equal(clipY, @dc.clipY)
# assert_equal(clipWidth, @dc.clipWidth)
# assert_equal(clipHeight, @dc.clipHeight)
# assert_equal(clipRectangle, @dc.clipRectangle)
@dc.setClipRectangle(clipRectangle)
# assert_equal(clipX, @dc.clipX)
# assert_equal(clipY, @dc.clipY)
# assert_equal(clipWidth, @dc.clipWidth)
# assert_equal(clipHeight, @dc.clipHeight)
# assert_equal(clipRectangle, @dc.clipRectangle)
def testClipMask
bitmap, dx, dy = FXBitmap.new(@app), 0, 0
@dc.setClipMask(bitmap)
@dc.setClipMask(bitmap, dx)
@dc.setClipMask(bitmap, dx, dy)
@dc.clearClipMask
end
def testTextFont
textFont = @app.normalFont
@dc.setFont(textFont)
assert_same(textFont, @dc.font)
assert_same(textFont, @dc.getFont())
@dc.font = textFont
assert_same(textFont, @dc.font)
assert_same(textFont, @dc.getFont())
end
def testClipChildren
@dc.clipChildren(true)
@dc.clipChildren(false)
end
end