Blitting surfaces onto each other with coordinate translation

Johannes Bauer <[email protected]> Wed, 24 Jul 2019 23:07:01 +0200
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
SGkgbGlzdCwKCkkgcmVhbGx5IGhhdmUgbm8gY2x1ZSB3aGF0J3MgZ29pbmcgb24gYW55bW9yZSBh
bmQgcmVhbGx5IGFueSBpbnB1dCBjb3VsZApoZWxwIG1lLiBJJ3ZlIG1hbmV1dmVyZWQgbXlzZWxm
IGludG8gYSByZWFsbHkgY3JhcHB5IGNvcm5lci4KCldoYXQgSSdtIGRvaW5nOiBVc2luZyBweWNh
aXJvIHRvIGJsaXQgYSBoYXJkd2FyZSBzb3VyY2Ugd2l0aCByZWFsCm1lYXN1cmVtZW50cy4gVGhl
IGdpdmVuIGV4dGVybmFsIGNvb3JkaW5hdGUgc3lzdGVtIGhhcyAoMCwgMCkgaW4gaXRzCmJvdHRv
bSBsZWZ0IGNvcm5lciBhbmQsIGZvciBjb252ZW5pZW5jZSwgSSBjYWxjdWxhdGUgZXZlcnl0aGlu
ZyBpbgppbmNoZXMgaW4gbXkgImhhcmR3YXJlIiBjb29yZGluYXRlIHN5c3RlbSwgYnV0IHRyYW5z
bGF0ZSB0byBwaXhlbHMgd2hlbgpnb2luZyB0byBteSBjYWlybyBzdXJmYWNlLgoKVGhlcmUncyBt
dWx0aXBsZSBvZiB0aGVzZSBzdXJmYWNlcyBJIGNyZWF0ZSwgd2l0aCBkaWZmZXJlbnQgb2Zmc2V0
cyB0bwplYWNoIG90aGVyLiBTbyBvbmUgbWlnaHQgZGVzY3JpYmUgYSBjb3JuZXIgZnJvbSAoMCwg
MCkgdG8gKDEsIDEpIGFuZCB0aGUKbmV4dCBtaWdodCBkZXNjcmliZSAoMC41LCAyKSB0byAoNCwg
NSkgaW5jaGVzLiBJbiB0aGUgZW5kLCBJIHdhbnQgdG8KY29tcG9zZSB0aGVtIGFsbCBvbnRvIGVh
Y2ggb3RoZXIuCgpXaGVuIEkgY3JlYXRlIHRoZSBpbmRpdmlkdWFsIGxheWVyIHN1cmZhY2VzLCBJ
IHRyYW5zbGF0ZSB0aGUgWQpjb29yZGluYXRlcyBhcHByb3ByaWF0ZWx5OgoKbWF0cml4ID0gY2Fp
cm8uTWF0cml4KCkKbWF0cml4LnNjYWxlKDEsIC0xKQptYXRyaXgudHJhbnNsYXRlKDAsIC1oZWln
aHQpCm1hdHJpeC50cmFuc2xhdGUoLW9mZnNldC54LCAtb2Zmc2V0LnkpCgpUaGlzIGFsbG93cyBt
ZSB0byBjb252ZXJ0IGZyb20gaGFyZHdhcmUgdG8gcGl4ZWxzIGJ5IGp1c3QgZHBpCm11bHRpcGxp
Y2F0aW9uIGFuZCB0aGVuIGp1c3QgZHJhdyBvbiB0aGUgc3VyZmFjZS4KCldoZW4gSSB3YW50IHRv
IGNyZWF0ZSB0aGUgZmluYWwgc3VyZmFjZSB0aGF0IGFsbCBvdGhlcnMgYXJlIG1lcmdlZCBvbnRv
LApJIG9yaWdpbmFsbHkgaGFkIHRoZSBzYW1lIHNldHVwIChpLmUuLCBhbHNvIHRoZSBmaW5hbCBz
dXJmYWNlIHdvdWxkIGhhdmUKYW4gaW52ZXJ0ZWQgWSBheGlzKS4gQnV0IHRoZW4sIGZvciBzb21l
IHdlaXJkIHJlYXNvbiwgd2hlbiB0cnlpbmcgdG8KYmxpdCB0aGUgc3ViLXN1cmZhY2VzIG9uIHRo
ZSBkZXN0aW5hdGlvbjoKCmZpbmFsX2NjdHguc2V0X3NvdXJjZV9zdXJmYWNlKHN1Yi5jdHgsIHN1
Yi5vZmZzZXQueCwgc3ViLm9mZnNldC55KQpmaW5hbF9jY3R4LmNjdHgucGFpbnQoKQoKVGhlbiB0
aGUgWS1heGlzIHdvdWxkIGFnYWluIGJlIGludmVydGVkLiBJJ20gZ3Vlc3NpbmcgYmVjYXVzZSBp
dCdzCmludmVydGVkIGFnYWluIHRocm91Z2ggdGhlIHByb2plY3Rpb24gbWF0cml4IG9mIHRoZSBm
aW5hbCBkZXN0aW5hdGlvbgpzdXJmYWNlLgoKTm93IGluIG15IHRlc3RjYXNlcyBJIGNhbm5vdCBy
ZXByb2R1Y2UgYW55IG9mIHRoaXMsIHRoZXJlIHRoZSBkb3VibGUKaW52ZXJzaW9uIGRvZXMgbm90
IGhhcHBlbiBhbmQsIGZvciB0aGUgbGlmZSBvZiBtZSwgSSBjYW5ub3QgZmlndXJlIG91dAp3aGF0
IGlzIGdvaW5nIG9uIG9yIGV2ZW4gaG93IEkgd291bGQgc3RhcnQgZGVidWdnaW5nIHRoaXMuIEkg
YWxzbyBzdGFydAp0byBxdWVzdGlvbiBpZiBJIHNob3VsZCBhbHNvIGhhdmUgZG9uZSB0aGUgaW5j
aC9waXhlbCBjb252ZXJzaW9uIHdpdGhpbgp0aGUgQ2Fpcm8gdHJhbnNsYXRpb24gbWF0cml4IGFu
ZCBsZXQgZXZlcnl0aGluZyBiZSBoYW5kbGVkIGJ5IENhcmlvCmluc3RlYWQgb2YgZG9pbmcgYSBw
YXJ0IG9uIG15IG93bi4KCk92ZXJhbGwsIEknbSBxdWVzdGlvbmluZyBteSBzYW5pdHkuCkNhbiBz
b21lb25lIGhlbHAgbWUgb3V0IG9uIGhvdyB0byBkZWJ1ZyBvciBtb3ZlIGZvcndhcmQ/IEFueSBo
ZWxwIGlzCmdyZWF0bHkgYXBwcmVjaWF0ZWQuCgpBbGwgdGhlIGJlc3QsCkpvaGFubmVzCi0tIApj
YWlybyBtYWlsaW5nIGxpc3QKY2Fpcm9AY2Fpcm9ncmFwaGljcy5vcmcKaHR0cHM6Ly9saXN0cy5j
YWlyb2dyYXBoaWNzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2NhaXJv