Skip to content
This repository was archived by the owner on Sep 21, 2022. It is now read-only.

Fixed calibration for android emulators#375

Merged
SwinX merged 1 commit intomasterfrom
FEI-2112
Mar 10, 2016
Merged

Fixed calibration for android emulators#375
SwinX merged 1 commit intomasterfrom
FEI-2112

Conversation

@SwinX
Copy link
Contributor

@SwinX SwinX commented Mar 3, 2016

Изменена калибровка. Теперь сравнивается количество пикселей зелёного цвета во вьюпорте со значение window.innerWidth:

  1. Весь экран заливается зелёным цветом
  2. Для каждой строчки ищется начало зелёного цвета
  3. Если цвет не найден, идём на следующую строку
  4. Если цвет нашли, считаем зелёные пиксели в строке
  5. Если пикселей больше или столько же, сколько window.innerWidth, тогда считаем, что откалибровались и возвращаем данные
  6. Если пикселей меньше, чем window.innerWidth - переходим к новой строке
  7. Если не нашли ни одной строки с подходящими параметрами - считаем калибровку проваленной
  8. Если пикселей больше, чем window.innerWidth - применяем pixelRatio, иначе - нет.

@SwinX SwinX self-assigned this Mar 3, 2016
@levonet levonet added the review label Mar 3, 2016
@SwinX
Copy link
Contributor Author

SwinX commented Mar 3, 2016

/cc @j0tunn @sipayRT @pazone

@sipayRT
Copy link
Member

sipayRT commented Mar 3, 2016

я сейчас не в адеквате - посмотрю лучше утром на свежую голову

}
}

return -1;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

почему именно -1? нельзя просто false?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут возвращается позиция, с которой начался нужный нам цвет. Если не найдено - возвращается невалидный индекс, по соглашению в JS это -1. Например так сделано в String.indexOf

@sipayRT
Copy link
Member

sipayRT commented Mar 6, 2016

  1. Для каждой строчки ищется начало зелёного цвета

А при каком условии может быть так, что начало строки не зеленого цвета? и нормально ли будет ситуация, когда первый пиксель получился другого цвета?

@SwinX
Copy link
Contributor Author

SwinX commented Mar 9, 2016

Например грёбаная рамка для ie8, скриншот всего симулятора в iOS или скриншот рабочего стола SauceLabs 😃

@SwinX
Copy link
Contributor Author

SwinX commented Mar 10, 2016

Порефакторил код, слегка поменял алгоритм калибровки:

  1. Проходим по каждой строчке слева направо, ищем пиксель зелёного цвета
  2. Если нашли - ищем зелёный пиксель справа налево.
  3. Расстрояние между ними сравниваем с innerWidth, полученным от браузера. Если оно больше, чем innerWidth - тогда применяем pixelRatio, иначе - нет.

@SwinX SwinX force-pushed the FEI-2112 branch 2 times, most recently from 873ef81 to 68e6ac4 Compare March 10, 2016 09:42
img.style.height = '100%';
img.style.margin = '0';
img.style.padding = '0';
img.style.backgroundColor = '#96fa00';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут можно не создавать новый элемент, а просто покрасить body.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@SwinX SwinX force-pushed the FEI-2112 branch 2 times, most recently from 8d307a9 to 8049a7f Compare March 10, 2016 13:36
@SevInf
Copy link
Contributor

SevInf commented Mar 10, 2016

🆗

SwinX added a commit that referenced this pull request Mar 10, 2016
Fixed calibration for android emulators
@SwinX SwinX merged commit 47af8aa into master Mar 10, 2016
@SwinX SwinX deleted the FEI-2112 branch March 10, 2016 14:36
@levonet levonet removed the review label Mar 10, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants