2017-06-15 07:36:33 -07:00
|
|
|
/*
|
2018-09-11 15:27:47 -07:00
|
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
2018-07-11 09:33:24 -07:00
|
|
|
*
|
|
|
|
* This source code is licensed under the MIT license found in the LICENSE
|
|
|
|
* file in the root directory of this source tree.
|
2014-10-29 08:01:22 -07:00
|
|
|
*
|
|
|
|
*/
|
2016-12-05 02:56:20 -08:00
|
|
|
package com.facebook.yoga;
|
2014-09-18 15:15:21 -07:00
|
|
|
|
|
|
|
/**
|
2016-10-27 10:52:09 -07:00
|
|
|
* Helpers for building measure output value.
|
2014-09-18 15:15:21 -07:00
|
|
|
*/
|
2016-12-03 04:40:23 -08:00
|
|
|
public class YogaMeasureOutput {
|
2014-09-18 15:15:21 -07:00
|
|
|
|
2016-10-27 10:52:09 -07:00
|
|
|
public static long make(float width, float height) {
|
2016-12-29 04:52:20 -08:00
|
|
|
final int wBits = Float.floatToRawIntBits(width);
|
|
|
|
final int hBits = Float.floatToRawIntBits(height);
|
|
|
|
return ((long) wBits) << 32 | ((long) hBits);
|
2016-10-27 10:52:09 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
public static long make(int width, int height) {
|
2016-12-29 04:52:20 -08:00
|
|
|
return make((float) width, (float) height);
|
2016-10-27 10:52:09 -07:00
|
|
|
}
|
|
|
|
|
2016-12-29 04:52:20 -08:00
|
|
|
public static float getWidth(long measureOutput) {
|
|
|
|
return Float.intBitsToFloat((int) (0xFFFFFFFF & (measureOutput >> 32)));
|
2016-10-27 10:52:09 -07:00
|
|
|
}
|
|
|
|
|
2016-12-29 04:52:20 -08:00
|
|
|
public static float getHeight(long measureOutput) {
|
|
|
|
return Float.intBitsToFloat((int) (0xFFFFFFFF & measureOutput));
|
2016-10-27 10:52:09 -07:00
|
|
|
}
|
2014-09-18 15:15:21 -07:00
|
|
|
}
|