Graphics in itself is just some abstract Class. How does calling g.drawImage(Image img, tx, null) or something like that actually draw to the window? I looked a bit and I got that maybe something is going on in an instance of java.awt.Component? Is that right? I don't know.
My main reason is I want to make my own Graphics context called Graphics3D. My rasterizer will utilize this, and then from a Graphics3D context you can draw and manipulate 3D objects. Even if I could just inherit Graphics into my Rasterizer, I wouldn't know what to do.
java.awt.Component is the superclass of any class that can be drawn on screen.
In this class you can see how really a Pixel is drawn on screen.
There is a method in this class i.e. public void repaint(long tm, int x, int y, int width, int height). In this function you have to look at 3403'th line to understand how it works.
It instantiate a PaintEvent for this.
PaintEvent e = new PaintEvent(this, PaintEvent.UPDATE, new Rectangle(x, y, width, height)) where constructor for PaintEvent is PaintEvent(Component source, int id, Rectangle updateRect).
There is another line Toolkit.getEventQueue().postEvent(e).
Toolkit gets the EventQueue of system, and adds a PaintEvent into it.EventQueue keep the track of all Events in a queue and fires them accordingly.PaintEvent is the event to draw a rectangle on screen.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With