Android Open Source - codemap Zoomable Linear Layout






From Project

Back to project page codemap.

License

The source code is released under:

GNU General Public License

If you think the Android project codemap listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.hdweiss.codemap.util;
/*from www. ja va 2s.  c  o m*/
import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewParent;
import android.widget.LinearLayout;

import com.hdweiss.codemap.view.workspace.WorkspaceView;

public class ZoomableLinearLayout extends LinearLayout {

  public ZoomableLinearLayout(Context context, AttributeSet attrs) {
    super(context, attrs);
  }

  public float getScaleFactor() {
    return ((WorkspaceView) getParent()).getScaleFactor();
  }
  

  @Override
  protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
//    int widthMode = MeasureSpec.getMode(widthMeasureSpec);
//    int widthSize = MeasureSpec.getSize(widthMeasureSpec);
//
//    int heightMode = MeasureSpec.getMode(heightMeasureSpec);
//    int heightSize = MeasureSpec.getSize(heightMeasureSpec);

    float parentScale = getScaleFactor();
    
    measureChildren(widthMeasureSpec, heightMeasureSpec);
    
    int chosenHeight = 0;
    int chosenWidth = 0;
    
    for(int i = 0; i < getChildCount(); i++) {
      View child = getChildAt(i);
      
      chosenHeight += child.getMeasuredHeight();
      chosenWidth = Math.max(child.getMeasuredWidth(), chosenWidth);
    }

    chosenHeight *= parentScale;
    chosenWidth *= parentScale;

    chosenWidth += getPaddingLeft() + getPaddingRight();
    chosenHeight +=  getPaddingBottom() + getPaddingTop();
    
    //Log.d("CodeMap", "Measured to " + chosenWidth + "x" + chosenHeight);
    setMeasuredDimension(chosenWidth, chosenHeight);
  }


//  @Override
//  protected void onDraw(Canvas canvas) {
//    float parentScale = getScaleFactor();
//    
//      canvas.scale(parentScale, parentScale);
//      canvas.save(Canvas.MATRIX_SAVE_FLAG);
//      super.dispatchDraw(canvas);
//      canvas.restore();
//  }

  @Override
  public ViewParent invalidateChildInParent(int[] location, Rect dirty) {
    return super.invalidateChildInParent(location, dirty);
  }
}




Java Source Code List

com.hdweiss.codemap.data.CodeMapApp.java
com.hdweiss.codemap.data.CscopeEntry.java
com.hdweiss.codemap.data.CscopeWrapper.java
com.hdweiss.codemap.data.Cscope.java
com.hdweiss.codemap.data.ICodeMapItem.java
com.hdweiss.codemap.data.JGitWrapper.java
com.hdweiss.codemap.data.ProjectController.java
com.hdweiss.codemap.data.Project.java
com.hdweiss.codemap.data.SerializableItem.java
com.hdweiss.codemap.data.SerializableLink.java
com.hdweiss.codemap.util.AbsoluteLayout.java
com.hdweiss.codemap.util.CodeMapCursorPoint.java
com.hdweiss.codemap.util.CodeMapPoint.java
com.hdweiss.codemap.util.FlowLayout.java
com.hdweiss.codemap.util.ObjectSerializer.java
com.hdweiss.codemap.util.SpanUtils.java
com.hdweiss.codemap.util.SyntaxHighlighter.java
com.hdweiss.codemap.util.Utils.java
com.hdweiss.codemap.util.ZoomableAbsoluteLayout.java
com.hdweiss.codemap.util.ZoomableLinearLayout.java
com.hdweiss.codemap.view.CodeMapActivity.java
com.hdweiss.codemap.view.CodeMapTabListener.java
com.hdweiss.codemap.view.Preferences.java
com.hdweiss.codemap.view.project.ProjectAdapter.java
com.hdweiss.codemap.view.project.ProjectBrowser.java
com.hdweiss.codemap.view.project.ProjectItemView.java
com.hdweiss.codemap.view.project.ProjectWizard.java
com.hdweiss.codemap.view.workspace.CollisionManager.java
com.hdweiss.codemap.view.workspace.FindDeclarationTask.java
com.hdweiss.codemap.view.workspace.WorkspaceController.java
com.hdweiss.codemap.view.workspace.WorkspaceFragment.java
com.hdweiss.codemap.view.workspace.WorkspaceStateLoader.java
com.hdweiss.codemap.view.workspace.WorkspaceState.java
com.hdweiss.codemap.view.workspace.WorkspaceViewListeners.java
com.hdweiss.codemap.view.workspace.WorkspaceView.java
com.hdweiss.codemap.view.workspace.browser.WorkspaceBrowserAdapter.java
com.hdweiss.codemap.view.workspace.browser.WorkspaceBrowser.java
com.hdweiss.codemap.view.workspace.fragments.CodeMapAnnotation.java
com.hdweiss.codemap.view.workspace.fragments.CodeMapFunction.java
com.hdweiss.codemap.view.workspace.fragments.CodeMapImage.java
com.hdweiss.codemap.view.workspace.fragments.CodeMapItem.java
com.hdweiss.codemap.view.workspace.fragments.CodeMapLink.java
com.hdweiss.codemap.view.workspace.fragments.FunctionLinkSpan.java
com.hdweiss.codemap.view.workspace.outline.CscopeEntryAdapter.java
com.hdweiss.codemap.view.workspace.outline.OutlineAdapter.java
com.hdweiss.codemap.view.workspace.outline.OutlineBrowser.java
com.hdweiss.codemap.view.workspace.outline.OutlineItemComparator.java
com.hdweiss.codemap.view.workspace.outline.OutlineItemView.java
com.hdweiss.codemap.view.workspace.outline.OutlineItem.java