summaryrefslogtreecommitdiffstats
path: root/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/jar/src/org/qtproject/qt5/android/QtLayout.java')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtLayout.java278
1 files changed, 0 insertions, 278 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java b/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java
deleted file mode 100644
index 63993f81b5..0000000000
--- a/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Copyright (C) 2012 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Android port of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-package org.qtproject.qt5.android;
-
-import android.app.Activity;
-import android.content.Context;
-import android.util.AttributeSet;
-import android.util.DisplayMetrics;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowInsets;
-
-public class QtLayout extends ViewGroup
-{
- private Runnable m_startApplicationRunnable;
- public QtLayout(Context context, Runnable startRunnable)
- {
- super(context);
- m_startApplicationRunnable = startRunnable;
- }
-
- public QtLayout(Context context, AttributeSet attrs)
- {
- super(context, attrs);
- }
-
- public QtLayout(Context context, AttributeSet attrs, int defStyle)
- {
- super(context, attrs, defStyle);
- }
-
- @Override
- protected void onSizeChanged (int w, int h, int oldw, int oldh)
- {
- WindowInsets insets = getRootWindowInsets();
-
- DisplayMetrics realMetrics = new DisplayMetrics();
- ((Activity) getContext()).getWindowManager().getDefaultDisplay().getRealMetrics(realMetrics);
-
- boolean isFullScreenView = h == realMetrics.heightPixels;
-
- int insetLeft = isFullScreenView ? insets.getSystemWindowInsetLeft() : 0;
- int insetTop = isFullScreenView ? insets.getSystemWindowInsetTop() : 0;
- int insetRight = isFullScreenView ? insets.getSystemWindowInsetRight() : 0;
- int insetBottom = isFullScreenView ? insets.getSystemWindowInsetBottom() : 0;
-
- int usableAreaWidth = w - insetLeft - insetRight;
- int usableAreaHeight = h - insetTop - insetBottom;
-
- QtNative.setApplicationDisplayMetrics(realMetrics.widthPixels,
- realMetrics.heightPixels,
- insetLeft,
- insetTop,
- usableAreaWidth,
- usableAreaHeight,
- realMetrics.xdpi,
- realMetrics.ydpi,
- realMetrics.scaledDensity,
- realMetrics.density);
-
- if (m_startApplicationRunnable != null) {
- m_startApplicationRunnable.run();
- m_startApplicationRunnable = null;
- }
- }
-
- @Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
- {
- int count = getChildCount();
-
- int maxHeight = 0;
- int maxWidth = 0;
-
- // Find out how big everyone wants to be
- measureChildren(widthMeasureSpec, heightMeasureSpec);
-
- // Find rightmost and bottom-most child
- for (int i = 0; i < count; i++) {
- View child = getChildAt(i);
- if (child.getVisibility() != GONE) {
- int childRight;
- int childBottom;
-
- QtLayout.LayoutParams lp
- = (QtLayout.LayoutParams) child.getLayoutParams();
-
- childRight = lp.x + child.getMeasuredWidth();
- childBottom = lp.y + child.getMeasuredHeight();
-
- maxWidth = Math.max(maxWidth, childRight);
- maxHeight = Math.max(maxHeight, childBottom);
- }
- }
-
- // Check against minimum height and width
- maxHeight = Math.max(maxHeight, getSuggestedMinimumHeight());
- maxWidth = Math.max(maxWidth, getSuggestedMinimumWidth());
-
- setMeasuredDimension(resolveSize(maxWidth, widthMeasureSpec),
- resolveSize(maxHeight, heightMeasureSpec));
- }
-
- /**
- * Returns a set of layout parameters with a width of
- * {@link android.view.ViewGroup.LayoutParams#WRAP_CONTENT},
- * a height of {@link android.view.ViewGroup.LayoutParams#WRAP_CONTENT}
- * and with the coordinates (0, 0).
- */
- @Override
- protected ViewGroup.LayoutParams generateDefaultLayoutParams()
- {
- return new LayoutParams(android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
- android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
- 0,
- 0);
- }
-
- @Override
- protected void onLayout(boolean changed, int l, int t, int r, int b)
- {
- int count = getChildCount();
-
- for (int i = 0; i < count; i++) {
- View child = getChildAt(i);
- if (child.getVisibility() != GONE) {
- QtLayout.LayoutParams lp =
- (QtLayout.LayoutParams) child.getLayoutParams();
-
- int childLeft = lp.x;
- int childTop = lp.y;
- child.layout(childLeft, childTop,
- childLeft + child.getMeasuredWidth(),
- childTop + child.getMeasuredHeight());
-
- }
- }
- }
-
- // Override to allow type-checking of LayoutParams.
- @Override
- protected boolean checkLayoutParams(ViewGroup.LayoutParams p)
- {
- return p instanceof QtLayout.LayoutParams;
- }
-
- @Override
- protected ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p)
- {
- return new LayoutParams(p);
- }
-
- /**
- * Per-child layout information associated with AbsoluteLayout.
- * See
- * {@link android.R.styleable#AbsoluteLayout_Layout Absolute Layout Attributes}
- * for a list of all child view attributes that this class supports.
- */
- public static class LayoutParams extends ViewGroup.LayoutParams
- {
- /**
- * The horizontal, or X, location of the child within the view group.
- */
- public int x;
- /**
- * The vertical, or Y, location of the child within the view group.
- */
- public int y;
-
- /**
- * Creates a new set of layout parameters with the specified width,
- * height and location.
- *
- * @param width the width, either {@link #FILL_PARENT},
- {@link #WRAP_CONTENT} or a fixed size in pixels
- * @param height the height, either {@link #FILL_PARENT},
- {@link #WRAP_CONTENT} or a fixed size in pixels
- * @param x the X location of the child
- * @param y the Y location of the child
- */
- public LayoutParams(int width, int height, int x, int y)
- {
- super(width, height);
- this.x = x;
- this.y = y;
- }
-
- /**
- * {@inheritDoc}
- */
- public LayoutParams(ViewGroup.LayoutParams source)
- {
- super(source);
- }
- }
-
- public void moveChild(View view, int index)
- {
- if (view == null)
- return;
-
- if (indexOfChild(view) == -1)
- return;
-
- detachViewFromParent(view);
- requestLayout();
- invalidate();
- attachViewToParent(view, index, view.getLayoutParams());
- }
-
- /**
- * set the layout params on a child view.
- *
- * Note: This function adds the child view if it's not in the
- * layout already.
- */
- public void setLayoutParams(final View childView,
- final ViewGroup.LayoutParams params,
- final boolean forceRedraw)
- {
- // Invalid view
- if (childView == null)
- return;
-
- // Invalid params
- if (!checkLayoutParams(params))
- return;
-
- // View is already in the layout and can therefore be updated
- final boolean canUpdate = (this == childView.getParent());
-
- if (canUpdate) {
- childView.setLayoutParams(params);
- if (forceRedraw)
- invalidate();
- } else {
- addView(childView, params);
- }
- }
-}