Sha256: ac43b378cf8adc47fa28723fb7401631613f73b879d35a5c818bad9abec56206

Contents?: true

Size: 1.87 KB

Versions: 21

Compression:

Stored size: 1.87 KB

Contents

# Copyright (c) 2023 M.J.N. Corino, The Netherlands
#
# This software is released under the MIT license.

require_relative './lib/wxapp_runner'

class TestDC < Test::Unit::TestCase

  def test_memory_dc
    bmp = Wx::Bitmap.new(100, 100)
    assert_nothing_raised do
      Wx::MemoryDC.draw_on(bmp) do |mdc|
        mdc.set_background(Wx::WHITE_BRUSH)
        mdc.clear
        mdc.set_pen(Wx::BLACK_PEN)
        mdc.set_brush(Wx::WHITE_BRUSH)
        mdc.draw_rectangle(0, 0, 60, 15)
        mdc.draw_line(0, 0, 59, 14)
        mdc.set_text_foreground(Wx::BLACK)
        mdc.draw_text("x1", 0, 0)
      end
    end
  end

  def test_gc_dc
    bmp = Wx::Bitmap.new(100, 100)
    assert_nothing_raised do
      Wx::MemoryDC.draw_on(bmp) do |mdc|
        Wx::GCDC.draw_on(mdc) do |gdc|
          gdc.set_background(Wx::WHITE_BRUSH)
          gdc.clear
          gdc.set_pen(Wx::BLACK_PEN)
          gdc.set_brush(Wx::WHITE_BRUSH)
          GC.start
          gdc.draw_rectangle(0, 0, 60, 15)
          gdc.draw_line(0, 0, 59, 14)
          gdc.set_text_foreground(Wx::BLACK)
          gdc.draw_text("x1", 0, 0)
          GC.start
        end
      end
    end
  end

  def test_gc_dc_stress
    10.times do
      bmp = Wx::Bitmap.new(100, 100)
      assert_nothing_raised do
        Wx::MemoryDC.draw_on(bmp) do |mdc|
          Wx::GCDC.draw_on(mdc) do |gdc|

            gc = gdc.get_graphics_context
            gc.scale(0.9, 0.9)

            10.times do |i|
              gdc.set_background(Wx::WHITE_BRUSH)
              gdc.clear
              gdc.set_pen(Wx::BLACK_PEN)
              gdc.set_brush(Wx::WHITE_BRUSH)
              GC.start
              gdc.draw_rectangle(0, 0, 60, 15)
              gdc.draw_line(0, 0, 59, 14)
              gdc.set_text_foreground(Wx::BLACK)
              gdc.draw_text("x1", 0, 0)
              GC.start
            end
          end
        end
      end
    end
  end

end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
wxruby3-1.5.1 tests/test_dc.rb
wxruby3-1.5.0 tests/test_dc.rb
wxruby3-1.4.2 tests/test_dc.rb
wxruby3-1.4.1 tests/test_dc.rb
wxruby3-1.4.0 tests/test_dc.rb
wxruby3-1.3.1 tests/test_dc.rb
wxruby3-1.3.0 tests/test_dc.rb
wxruby3-1.2.1 tests/test_dc.rb
wxruby3-1.2.0 tests/test_dc.rb
wxruby3-1.1.2 tests/test_dc.rb
wxruby3-1.1.1 tests/test_dc.rb
wxruby3-1.1.0 tests/test_dc.rb
wxruby3-1.0.1 tests/test_dc.rb
wxruby3-0.9.8 tests/test_dc.rb
wxruby3-0.9.7 tests/test_dc.rb
wxruby3-0.9.5 tests/test_dc.rb
wxruby3-0.9.4 tests/test_dc.rb
wxruby3-0.9.3 tests/test_dc.rb
wxruby3-0.9.2 tests/test_dc.rb
wxruby3-0.9.1 tests/test_dc.rb