require("iupcdaux") -- utility module used in some samples w = 100 h = 100 image_rgb = cd.CreateImageRGB(w, h) size = w * h i = 0 while i < size do if i < size/2 then image_rgb.r[i] = 255 image_rgb.g[i] = 0 image_rgb.b[i] = 0 else image_rgb.r[i] = 0 image_rgb.g[i] = 0 image_rgb.b[i] = 255 end i = i + 1 end dlg = iupcdaux.new_dialog(w, h) cnv = dlg[1] -- retrieve the IUP canvas -- custom function used in action callback -- from the iupcdaux module function cnv:Draw(canvas) canvas:PutImageRectRGB(image_rgb, 0, 0, w, h, 0, 0, 0, 0) end dlg:show() iup.MainLoop()