Grafika, 5. gyakorlat uj egér definiálása: a.) helymentés, új kirajzolása... ...régi visszamentése, új hely mentése, új egér kirajzolása b.) XOR (az új egerek "rá-XOR-oljuk" a háttérre), visszaXOR esetén ugyanis helyreáll az eredeti állapot --- Image a Form-ra: igy könnyebb lesz háttérret rátölteni file-ból --- Unit-módosítások: tForm=object can:TCanvas; alak, x,y, méret:word constructor create; construktor destroy; procedure rajzol; procedure mozgat(ujx, ujy:word); --- => a TForm definíciós részéhez: private (...) ma:Tmarker public (...) end; => procedure TForm.Create begin ma.create; {a "create"-tel hozza az "ma"-t létre} ma.can:=Imgae1.canvas; ma.can.Pen.mode:=pmXOR; {hogyan kell rajzolni?} {color=clRed} ma.rajzol; image1.cursor:=(-1); end; procedure Tmarker.Mozgat(ujx,ujy:word); begin rajzol; {törlés} x:=ujx; y:=ujy; rajzol; {kirajzol} end; procedure rajzol; begin can.MoveTo(x,y); can.LineTo(x,y+10); can.... can.LineTo(x+10,y); end; => Imgae1.mousemove begin (...) ma.mozgat; --- uj eger <- kell image, canvas, <- uj objektum <- create, destroy, alapeljárások <- a Form-ban kell beleépíteni <- meg kell tudni hívni Probléma: egy "form", de több "image": egér-átmegy: imgae1.canvas helyett image2.canvas (az egyik helyen megszűnik az egér, a másikon pedig megjelenik) end;