Part 1 introduced Cairo's separation between what to draw and where it goes, then implemented the two supporting files: a color type Color.mqh and a surface that binds a pixel buffer to a single chart object Surface.mqh. We finished by writing pixels directly in nested loops and drawing a triangle and a circle with separate functions. more...