2014-10-29 08:01:22 -07:00
|
|
|
/**
|
2016-07-25 06:31:32 -07:00
|
|
|
* Copyright (c) 2014-present, Facebook, Inc.
|
2014-10-29 08:01:22 -07:00
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
* This source code is licensed under the BSD-style license found in the
|
|
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
*/
|
2016-07-25 06:31:32 -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
|
|
|
}
|