Device context (get_dc) Question from printing.rb in wxRuby samples

I am using Windows XP SP 3 but want to stay general.

Below is a method within printing.rb. I have added comments marked by
#–.
My question is about get_dc. The device context is obviously created
and
the code works as presented.
It also works as documented below. Why does just get_dc satisfy the
linkage?
When does one use the Wx:: or the Wx::PrintOut format? How does one
decide
to use just the short form?

Where could I have found this answer?

def on_print_page(page) dc = get_dc #-- don;'t understand where get_dc comes from #--Wx::get_dc works #-- Wx::PrintOut.get_dc also works #--PrintOut.get_dc also works #-- looks like just get_dc is ok, why and when #-- the variable dc is probably a class or module but #-- where do I find its definition?
if dc
    if page == 1
        draw_page_one(dc)   ##-- dc = device context passed in
    elsif (page == 2)
        draw_page_two(dc)  ##-- dc = device context passed in
    end
    dc.set_device_origin(0, 0)
    dc.set_user_scale(1.0, 1.0)

    buf = "PAGE #{page}"
    dc.draw_text(buf, 10, 10)

    return true
else
    return false
end

end #–end of on_print_page

It has a lot to do with scope.

On 09/05/2011 10:38 AM, “Ann M.” [email protected] wrote:

I am using Windows XP SP 3 but want to stay general.

Below is a method within printing.rb. I have added comments marked by
#–.
My question is about get_dc. The device context is obviously created
and
the code works as presented.
It also works as documented below. Why does just get_dc satisfy the
linkage?
When does one use the Wx:: or the Wx::PrintOut format? How does one
decide
to use just the short form?

Where could I have found this answer?

def on_print_page(page) dc = get_dc #-- don;'t understand where get_dc comes from #--Wx::get_dc works #-- Wx::PrintOut.get_dc also works #--PrintOut.get_dc also works #-- looks like just get_dc is ok, why and when #-- the variable dc is probably a class or module but #-- where do I find its definition?
if dc
    if page == 1
        draw_page_one(dc)   ##-- dc = device context passed in
    elsif (page == 2)
        draw_page_two(dc)  ##-- dc = device context passed in
    end
    dc.set_device_origin(0, 0)
    dc.set_user_scale(1.0, 1.0)

    buf = "PAGE #{page}"
    dc.draw_text(buf, 10, 10)

    return true
else
    return false
end

end #–end of on_print_page


Ann M.
[email protected]

On 09/05/11 00:59, Ann M. wrote:

Below is a method within printing.rb. I have added comments marked
by #–.
My question is about get_dc. The device context is obviously created
and the code works as presented.
It also works as documented below. Why does just get_dc satisfy the
linkage?
When does one use the Wx:: or the Wx::PrintOut format? How does one
decide to use just the short form?

get_dc is an instance method of Wx::Printout, and in the sample, it’s
called from within a class that inherits from that.

Where could I have found this answer?

http://wxruby.rubyforge.org/doc/printout.html#Printout_getdc

                               #-- where do I find its definition?

I don’t think PrintOut.get_dc or Wx::get_dc will work? There are no such
class/module methods in either Wx::Printout or the global Wx:: module.

alex

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs