Improve display precision (stop rounding display coordinates)

dev
Jens Mönig 2015-09-23 11:41:17 +02:00
rodzic 0b28a95a60
commit 42254bd644
4 zmienionych plików z 31 dodań i 19 usunięć

Wyświetl plik

@ -2573,3 +2573,7 @@ ______
------
* new Croatian translation. Yay!! Thanks, Zeljko Hrvoj!
* fixed #925
150923
------
* Morphic, Objects: Improve display precision (stop rounding display coordinates)

Wyświetl plik

@ -147,12 +147,14 @@
III. yet to implement
---------------------
- keyboard support for scroll frames and lists
- full keyboard support for menus (partial support exists)
- virtual keyboard support for Android and IE
IV. open issues
----------------
- blurry shadows don't work well in Chrome
- clipboard support (copy & paste)
- native (unscaled) high-resolution display support
V. browser compatibility
@ -163,8 +165,10 @@
- Firefox for Windows
- Firefox for Mac
- Chrome for Windows (blurry shadows have some issues)
- Firefox for Android
- Chrome for Windows
- Chrome for Mac
- Chrome for Android
- Safari for Windows
- safari for Mac
- Safari for iOS (mobile)
@ -1048,7 +1052,7 @@
/*global window, HTMLCanvasElement, getMinimumFontHeight, FileReader, Audio,
FileList, getBlurredShadowSupport*/
var morphicVersion = '2015-July-28';
var morphicVersion = '2015-September-23';
var modules = {}; // keep track of additional loaded modules
var useBlurredShadows = getBlurredShadowSupport(); // check for Chrome-bug
@ -2641,10 +2645,10 @@ Morph.prototype.drawOn = function (aCanvas, aRect) {
return null;
}
rectangle = aRect || this.bounds();
area = rectangle.intersect(this.bounds).round();
area = rectangle.intersect(this.bounds);
if (area.extent().gt(new Point(0, 0))) {
delta = this.position().neg();
src = area.copy().translateBy(delta).round();
src = area.copy().translateBy(delta);
context = aCanvas.getContext('2d');
context.globalAlpha = this.alpha;
@ -2659,8 +2663,8 @@ Morph.prototype.drawOn = function (aCanvas, aRect) {
context.drawImage(
this.image,
src.left(),
src.top(),
sl,
st,
w,
h,
area.left(),
@ -2674,8 +2678,8 @@ Morph.prototype.drawOn = function (aCanvas, aRect) {
try {
context.drawImage(
this.image,
src.left(),
src.top(),
sl,
st,
w,
h,
area.left(),

Wyświetl plik

@ -9,7 +9,7 @@
Copyright (C) 2015 by Jens Mönig
this documentation last changed: June 26, 2015
this documentation last changed: Sep 23, 2015
This file is part of Snap!.
@ -148,12 +148,14 @@
III. yet to implement
---------------------
- keyboard support for scroll frames and lists
- full keyboard support for menus (partial support exists)
- virtual keyboard support for Android and IE
IV. open issues
----------------
- blurry shadows don't work well in Chrome
- clipboard support (copy & paste)
- native (unscaled) high-resolution display support
V. browser compatibility
@ -164,8 +166,10 @@
- Firefox for Windows
- Firefox for Mac
- Chrome for Windows (blurry shadows have some issues)
- Firefox for Android
- Chrome for Windows
- Chrome for Mac
- Chrome for Android
- Safari for Windows
- safari for Mac
- Safari for iOS (mobile)

Wyświetl plik

@ -125,7 +125,7 @@ PrototypeHatBlockMorph*/
// Global stuff ////////////////////////////////////////////////////////
modules.objects = '2015-July-27';
modules.objects = '2015-September-23';
var SpriteMorph;
var StageMorph;
@ -4777,10 +4777,10 @@ StageMorph.prototype.drawOn = function (aCanvas, aRect) {
return null;
}
rectangle = aRect || this.bounds;
area = rectangle.intersect(this.bounds).round();
area = rectangle.intersect(this.bounds);
if (area.extent().gt(new Point(0, 0))) {
delta = this.position().neg();
src = area.copy().translateBy(delta).round();
src = area.copy().translateBy(delta);
context = aCanvas.getContext('2d');
context.globalAlpha = this.alpha;
@ -4794,8 +4794,8 @@ StageMorph.prototype.drawOn = function (aCanvas, aRect) {
}
context.drawImage(
this.image,
src.left(),
src.top(),
sl,
st,
w,
h,
area.left(),
@ -4812,8 +4812,8 @@ StageMorph.prototype.drawOn = function (aCanvas, aRect) {
try {
context.drawImage(
this.penTrails(),
src.left() / this.scale,
src.top() / this.scale,
sl / this.scale,
st / this.scale,
ws,
hs,
area.left() / this.scale,