コード例 #1
0
        /**
         * @brief 병합된 상태에서 크기를 조정할 때 비율을 제대로 조정하기 위해서 사용
         * @details 병합된 상태에서 각 Figure의 위치의 비율값을 각 Figure에 저장한다. 병합된 상태에서 확대 축소를 올바르게 작동시키기 위해 사용한다. 각 Figure들에 대해서 현재 MergeFigure에 대한 각 객체의 상대적인 위치를 저장해서 확대 축소 시 그 값을 사용한다.
         * @param merged 비율을 조절하기 위한 mergedFigure
         * @author 방준혁
         * @date 07-24
         */
        public void setRatio(MergedFigure merged)
        {
            Rect r       = (Rect)merged.getVectorElementAt(0);
            int  mLeft   = r.getLeft();
            int  mRight  = r.getRight();
            int  mTop    = r.getTop();
            int  mBottom = r.getBottom();
            int  mWidth  = r.getWidth();
            int  mHeight = r.getHeight();

            for (int i = 0; i < merged.getFigList().Count; i++)
            {
                r = (Rect)((Figure)merged.getFigList()[i]).getVectorElementAt(0);

                r.setRatio(0, (float)(mRight - r.getLeft()) / mWidth);
                r.setRatio(1, (float)(mRight - r.getRight()) / mWidth);
                r.setRatio(2, (float)(mBottom - r.getTop()) / mHeight);
                r.setRatio(3, (float)(mBottom - r.getBottom()) / mHeight);
            }
        }