D1: Error: duplicate union initialization for size

jicman via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Aug 24 17:46:44 PDT 2014


On Sunday, 24 August 2014 at 21:54:57 UTC, jicman wrote:
> On Sunday, 24 August 2014 at 10:52:38 UTC, bearophile wrote:
>> jicman:
>>
>>> This is line 7634:
>>>
>>> const Size DEFAULT_SCALE = { 5, 13 };
>>>
>>> What does the error say and how can I fix it?  Thanks.
>>
>> Can you show the (reduced) definition of Size and 
>> DEFAULT_SCALE? Even better to show a minimized self-contained 
>> program that has the problem.
>
> The compiler 1.076 is calling the DFL Control file. These are 
> all the lines where DEFAULT_SCALE) is found:
>
> 		return calcScale(area, toScale, DEFAULT_SCALE);
> 	const Size DEFAULT_SCALE = { 5, 13 };
> 	Size autossz = DEFAULT_SCALE;
>
> Tehse are all the lines where Size is found in all the dfl 
> library files:
>
> 			clientSize = Size(340, 150);
> 	final Size size() // getter
> 		Size result;
> 	Size defaultSize() // getter
> 		return Size(75, 23);
> 	override Size defaultSize() // getter
> 		return Size(120, 23); // ?
> 	final Size clientSize() // getter
> 	final void clientSize(Size sz) // setter
> 		//wclientsz = Size(width, height);
> 	final void size(Size sz) // setter
> 	final Size size() // getter
> 		return wrect.size; // struct Size, not sizeof.
> 	final Size getAutoScaleSize(Font f)
> 		Size result;
> 	final Size getAutoScaleSize()
> 	package final Size _fetchClientSize()
> 		return Size(r.right, r.bottom);
> 	Size defaultSize() // getter
> 		return Size(0, 0);
> 	Size wclientsz;
> 	deprecated final void autoScrollMargin(Size sz) // setter
> 	deprecated final Size autoScrollMargin() // getter
> 		return Size(0, 0);
> 	deprecated final void autoScrollMinSize(Size sz) // setter
> 	deprecated final Size autoScrollMinSize() // getter
> 		return Size(0, 0);
> 	final Size autoScaleBaseSize() // getter
> 	final void autoScaleBaseSize(Size newSize) // setter
> 	static Size calcScale(Size area, Size toScale, Size fromScale) 
> // package
> 	Size calcScale(Size area, Size toScale) // package
> 	final void _scale(Size toScale) // package
> 		void xscale(Control c, Size fromScale)
> 				Size sz;
> 				sz = calcScale(Size(c.left, c.top), toScale, fromScale);
> 	final void scrollSize(Size sz) // setter
> 	final Size scrollSize() // getter
> 	const Size DEFAULT_SCALE = { 5, 13 };
> 	//Size scrollmargin, scrollmin;
> 	Size autossz = DEFAULT_SCALE;
> 	Size scrollsz = { 0, 0 };
> 	Point opAdd(Size sz)
> 	Point opSub(Size sz)
> 	void opAddAssign(Size sz)
> 	void opSubAssign(Size sz)
> struct Size // docmain
> 	/// Construct a new Size.
> 	static Size opCall(int width, int height)
> 		Size sz;
> 	static Size opCall()
> 		Size sz;
> 	Dequ opEquals(Size sz)
> 	Size opAdd(Size sz)
> 		Size result;
> 	Size opSub(Size sz)
> 		Size result;
> 	void opAddAssign(Size sz)
> 	void opSubAssign(Size sz)
> 	Size size() //getter
> 		return Size(width, height);
> 	void size(Size sz) // setter
> 	static Rect opCall(Point location, Size size)
> 	void inflate(Size insz)
> 	Size size(); // getter
> 	final override Size size() // getter
> 		return Size(bm.bmWidth, bm.bmHeight);
> 		Size sz;
> 		Size sz;
> 	final override Size size() // getter
> 		Size result;
> 	final Size getSize(HDC hdc) // package
> 		return Size(getWidth(hdc), getHeight(hdc));
> 	final Size getSize(Graphics g)
> 		return Size(getWidth(g), getHeight(g));
> 			Size sz;
> 	final Size measureText(Dstring text, Font font)
> 		return Size(sz.cx, sz.cy);
> 	final Size measureText(Dstring text, Font font, int maxWidth, 
> TextFormat fmt)
> 		return Size(rect.right - rect.left, rect.bottom - rect.top);
> 	final Size measureText(Dstring text, Font font, TextFormat fmt)
> 	final Size measureText(Dstring text, Font font, int maxWidth)
> 	final Size measureText(Dstring text, Font font)
> 	final Size getScaleSize(Font f)
> 		Size result;
> 	final Size size() // getter
> 		return Size(_w, _h);
> 	final override Size size() // getter
> 		return Size(bm.bmWidth, bm.bmHeight);
> 	protected override Size defaultSize() // getter
> 		return Size(300, 300);
> 		//Size csz;
> 	final void minimumSize(Size min) // setter
> 		Size changesz;
> 	final Size minimumSize() // getter
> 	final void maximumSize(Size max) // setter
> 		Size changesz;
> 	final Size maximumSize() // getter
> 	Size autoscaleBase;
> 	Size minsz, maxsz; // {0, 0} means none.
> 		wclientsz = Size(wrect.width - ((r.right - r.left) - 
> wrect.width), wrect.height - ((r.bottom - r.top) - 
> wrect.height));
> 	override Size defaultSize() // getter
> 		return Size(200, 100);
> 								Size tsz = g.measureText(txt, f, tfmt);
> 				override Size size() // getter
> 		final void imageSize(Size sz) // setter
> 		final Size imageSize() // getter
> 			return Size(_w, _h);
> 	Size preferredSize() // getter
> 		Size result;
> 	protected override Size defaultSize() // getter
> 		return Size(100, 23);
> 			Size sz;
> 			Size sz;
> 	protected override Size defaultSize() // getter
> 		return Size(120, 95);
> 	protected override Size defaultSize() // getter
> 		return Size(120, 95);
> 				clientSize = Size(0, 0);
> 					clientSize = Size(0, 0);
> 						Size isz;
> 	protected override Size defaultSize() // getter
> 		return Size(100, 23);
> 	override Size defaultSize() // getter
> 		return Size(120, 120); // ?
> 	override Size defaultSize() // getter
> 		//return Size(GetSystemMetrics(SM_CXSIZEFRAME), 
> GetSystemMetrics(SM_CYSIZEFRAME));
> 		return Size(sx, sy);
> 	protected override Size defaultSize() // getter
> 		return Size(200, 200); // ?
> 	override Size defaultSize() // getter
> 		return Size(120, 23); // ?
> 	final Size imageSize() // getter
> 		return Size(16, 16); // ?
> 	protected override Size defaultSize() // getter
> 		return Size(100, 16);
> 	protected override Size defaultSize() // getter
> 		return Size(120, 100);
> 		USHORT cb; // Size including cb.
>
> I just don't know what the error means to be able to figure out 
> what the problem is.  Thanks for the help.
>
> josé


These are the lines with size on them:
	final Size size() // getter
	// Uses the actual size.
		// so bail out if zero and pretend the zero size cursor was 
drawn.
	final void size(Size sz) // setter
	final Size size() // getter
		return wrect.size; // struct Size, not sizeof.
					// Frame change results in a new client size.
		wrect.size = defaultSize;
				c.size = calcScale(c.size, toScale, fromScale);
				sz = calcScale(c.size, toScale, fromScale);
		SIZE size; // package
	Size size() //getter
	void size(Size sz) // setter
	static Rect opCall(Point location, Size size)
		r.width = size.width;
		r.height = size.height;
	Size size(); // getter
		return size.width;
		return size.height;
	final override Size size() // getter
		return size.width;
		return size.height;
		sz = size;
		sz = size;
	final override Size size() // getter
		// so bail out if zero and pretend the zero size icon was drawn.
	final Size size() // getter
	final override Size size() // getter
		return size.width;
		return size.height;
	final float size() // getter
// TextureBrush supports any size images but requires GDI+.
		// Using size of wchar so that the buffer works for ansi and 
unicode.
				throw new DflException("Minimum size cannot be bigger than 
maximum size");
		changesz = size;
			size = changesz;
				throw new DflException("Maximum size cannot be smaller than 
minimum size");
		changesz = size;
			size = changesz;
						assert(0, "Image list: invalid image size");
				override Size size() // getter
					return partBounds.size;
				if(val.size != imageSize)
						assert(0, "Image list: invalid image size");
			// so bail out if zero and pretend the zero size image was 
drawn.
	AUTO_SIZE, // Control sizes to fit image size.
				clientSize = img.size;
					clientSize = img.size;
						isz = img.size;
			// Can't have size 0 (plus causes Windows to use the actual 
size).
			// Can't have size 0 (plus causes Windows to use the actual 
size).
			// Not casting to wDstring because a resource isn't guaranteed 
to be the same size.
	int msize = 25; // Min size of control that's being sized from 
the splitter.
	int mextra = 25; // Min size of the control on the opposite side.
		xtb.fsStyle = TBSTYLE_AUTOSIZE | tbb._style; // 
TBSTYLE_AUTOSIZE factors in the text's width instead of default 
button size.
		prevwproc(CCM_SETVERSION, 5, 0); // Fixes font size issue.
	struct GUID {          // size is 16



More information about the Digitalmars-d-learn mailing list