mirror of
https://github.com/google/pebble.git
synced 2025-05-18 01:14:55 +00:00
Import of the watch repository from Pebble
This commit is contained in:
commit
3b92768480
10334 changed files with 2564465 additions and 0 deletions
51
tools/animation_timing_tables.py
Normal file
51
tools/animation_timing_tables.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
#!/usr/bin/env python
|
||||
# Copyright 2024 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
# These constants are borrowed from animation_timing.h:
|
||||
ANIMATION_NORMALIZED_MAX = 65535
|
||||
ANIMATION_NORMALIZED_MIN = 0
|
||||
|
||||
# "Standard" animation curves, borrowed from the interwebs:
|
||||
d = ANIMATION_NORMALIZED_MAX
|
||||
b = ANIMATION_NORMALIZED_MIN
|
||||
c = ANIMATION_NORMALIZED_MAX
|
||||
|
||||
def easeInOut(t):
|
||||
t = t / (d / 2)
|
||||
if (t < 1.0):
|
||||
return c/2*t*t + b
|
||||
t -= 1
|
||||
return -c/2 * (t*(t-2) - 1) + b
|
||||
|
||||
def easeOut(t):
|
||||
t /= d
|
||||
return -c * t * (t - 2) + b
|
||||
|
||||
def easeIn(t):
|
||||
t /= d
|
||||
return c*t*t + b
|
||||
|
||||
def print_table(name, func):
|
||||
nums_per_row = 4
|
||||
table = [func(float(t)) for t in xrange(0, 65537, 2048)]
|
||||
print "static const uint16_t %s_table[33] = {" % name
|
||||
for i in xrange(0, len(table), nums_per_row):
|
||||
print ' ' + ', '.join(str(int(n)) for n in table[i:i+nums_per_row]) + ','
|
||||
print '};\n'
|
||||
|
||||
print_table('ease_in', easeIn)
|
||||
print_table('ease_out', easeOut)
|
||||
print_table('ease_in_out', easeInOut)
|
Loading…
Add table
Add a link
Reference in a new issue