2016-07-27 04:01 AM
!Frame {
	textBlockXMin = frameMargin
	!Frame Dimensions {
		if frameIsTight then
			if mirrorText then
				xL = textBlockXMin - frameMargin
				xR = textBlockXMax + frameMargin
			else
				xL = textBlockXMin - frameMargin
				xR = textBlockXMax + frameMargin
			endif
		else
			xL = 0
			xR = frameWidthReal*glob_scale
		endif
		yB = textBlockY - frameTopMargin
		yT = 0
	!} Frame Dimensions
	if (yT - yB > 0.001) and (xR - xL > 0.001) then
		if textAlignment = 3 then
			add2 frameWidth - (xR - xL), 0
		endif
		!Edges for the Frame Polygon {
			!Rectangle {
				if frameShape = 1 then
					put xL, yB, 1,
						xR, yB, 1,
						xR, yT, 1,
						xL, yT, 1
				endif
			!} Rectangle
			!Rounded Corners {
				if frameShape = 2 then
					Ri = min((yT - yB)/2 - .001, (xR - xL)/2 - .001, frameMargin*sqr(2))
					Ri = max(Ri, .00001)
					put (xL + xR)/2, yB, 1,
						xR - Ri, yB, 1,
						xR, yB + Ri, 1001,
						xR, yT - Ri, 1,
						xR - Ri, yT, 1001,
						xL + Ri, yT, 1,
						xL, yT - Ri, 1001,
						xL, yB + Ri, 1,
						xL + Ri, yB, 1001
				endif
			!} Rounded Corners
			!Hexagon {
				if frameShape = 3 then
					Ri = min((yT - yB)/2, (xR - xL)/2, frameMargin)
					put xL + Ri, yB, 1,
						xR - Ri, yB, 1,
						xR, (yB + yT)/2, 1,
						xR - Ri, yT, 1,
						xL + Ri, yT, 1,
						xL, (yB + yT)/2, 1
				endif
			!} Hexagon
			!Cut Corners {
				if frameShape = 4 then
					Ri = min((yT - yB)/2, (xR - xL)/2, frameMargin)
					put xL + Ri, yB, 1,
						xR - Ri, yB, 1,
						xR, yB + Ri, 1,
						xR, yT - Ri, 1,
						xR - Ri, yT, 1,
						xL + Ri, yT, 1,
						xL, yT - Ri, 1,
						xL, yB + Ri, 1
				endif
			!} Cut Corners
			!Vertical Line on Arrow Side {
				if frameShape = 5 then
					if label_position[2][1] > 0 then
						put xL, yB, 0,
							xR, yB, 1,
							xR, yT, 0,
							xL, yT, 0
					else
						put xL, yB, 0,
							xR, yB, 0,
							xR, yT, 0,
							xL, yT, 1
					endif
				endif
			!} Vertical Line on Arrow Side
			!Vertical Lines {
				if frameShape = 6 then
					put xL, yB, 0,
						xR, yB, 1,
						xR, yT, 0,
						xL, yT, 1
				endif
			!} Vertical Lines
			!No Border {
				if frameShape = 7 then
					put xL, yB, 0,
						xR, yB, 0,
						xR, yT, 0,
						xL, yT, 0
				endif
			!} No Border
		!} Edges for the Frame Polygon
		!Draw the Frame Polygon {
			if nsp then
				mask = 6
				if frameBorderPen > 0 then 
					mask = mask + 1
					pen frameBorderPen
				endif
				line_type frameLineType
				fill frameFillType
				poly2_b nsp/3, mask,
					frameFillPen, frameBkgdPen,
					get(nsp)
			endif
		!} Draw the Frame Polygon
		!Selectable Edge {
			hotline2 xL, yT, xR, yT
			hotline2 xL, yB, xR, yB
			hotline2 xL, yT, xL, yB
			hotline2 xR, yT, xR, yB
		!} Selectable Edge
	endif
!} Frame
end2016-07-27 12:33 PM
2016-07-27 10:32 PM
2016-07-27 10:52 PM
PrendosJoe wrote:Sure. We can certainly work a solution for you.
Is this something that you may be able to help with?
2016-07-27 11:22 PM
2017-01-13 02:54 AM
2017-01-14 01:21 AM
PrendosJoe wrote:Glad I could help. You are welcome.
Apologies for the delay, but thank you for your help Anton!