<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=Graphical_Editor%2FCelfin</id>
	<title>Graphical Editor/Celfin - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=Graphical_Editor%2FCelfin"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Graphical_Editor/Celfin&amp;action=history"/>
	<updated>2026-05-15T00:53:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=Graphical_Editor/Celfin&amp;diff=32017&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Graphical_Editor/Celfin&amp;diff=32017&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 bool bitmap1[252][252];&lt;br /&gt;
 &lt;br /&gt;
 char bitmap[252][252];&lt;br /&gt;
 &lt;br /&gt;
 char instruction;&lt;br /&gt;
 int x1, x2, y1, y2;&lt;br /&gt;
 int size_x, size_y;&lt;br /&gt;
 char color, temp;&lt;br /&gt;
 char name[255], trash[255];&lt;br /&gt;
 int i, j;&lt;br /&gt;
 &lt;br /&gt;
 void CreateBitmap()&lt;br /&gt;
 {&lt;br /&gt;
 	for(i=0; i&amp;amp;lt;=size_x+1; i++)&lt;br /&gt;
 		for(j=0; j&amp;amp;lt;=size_y+1; j++)&lt;br /&gt;
 			bitmap[i][j] = &amp;#039;.&amp;#039;;&lt;br /&gt;
 	for(i=1; i&amp;amp;lt;=size_x; i++)&lt;br /&gt;
 		for(j=1; j&amp;amp;lt;=size_y; j++)&lt;br /&gt;
 			bitmap[i][j] = &amp;#039;O&amp;#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void brush(int x_1, int y_1, int x_2, int y_2, char b_color)&lt;br /&gt;
 {&lt;br /&gt;
 	int tempInt;&lt;br /&gt;
 	if(x_1&amp;amp;gt;size_x || x_2&amp;amp;gt;size_x || y_1&amp;amp;gt;size_y || y_2&amp;amp;gt;size_y)&lt;br /&gt;
 		return;&lt;br /&gt;
 	if(x_1&amp;amp;gt;x_2)&lt;br /&gt;
 	{&lt;br /&gt;
 		tempInt = x_1;&lt;br /&gt;
 		x_1 = x_2;&lt;br /&gt;
 		x_2 = tempInt;&lt;br /&gt;
 	}&lt;br /&gt;
 	if(y_1&amp;amp;gt;y_2)&lt;br /&gt;
 	{&lt;br /&gt;
 		tempInt = y_1;&lt;br /&gt;
 		y_1 = y_2;&lt;br /&gt;
 		y_2 = tempInt;&lt;br /&gt;
 	}&lt;br /&gt;
 	for(i=x_1; i&amp;amp;lt;=x_2; i++)&lt;br /&gt;
 		for(j=y_1; j&amp;amp;lt;=y_2; j++)&lt;br /&gt;
 			bitmap[i][j] = b_color;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void printing()&lt;br /&gt;
 {&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; name &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	for(j=1; j&amp;amp;lt;=size_y; j++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(i=1; i&amp;amp;lt;=size_x; i++)&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; bitmap[i][j];&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void regionBrush(int x, int y, char b_color)&lt;br /&gt;
 {&lt;br /&gt;
 	const int PLUS_X[8] = {+0, +1, +1, +1, +0, -1, -1, -1};&lt;br /&gt;
 	const int PLUS_Y[8] = {+1, +1, +0, -1, -1, -1, +0, 1};&lt;br /&gt;
 	queue&amp;amp;lt;int&amp;amp;gt; pointList_X;&lt;br /&gt;
 	queue&amp;amp;lt;int&amp;amp;gt; pointList_Y;&lt;br /&gt;
 	pointList_X.push(x);&lt;br /&gt;
 	pointList_Y.push(y);&lt;br /&gt;
 	while(0 != pointList_X.size())&lt;br /&gt;
 	{&lt;br /&gt;
 		x = pointList_X.front();&lt;br /&gt;
 		pointList_X.pop();&lt;br /&gt;
 		y = pointList_Y.front();&lt;br /&gt;
 		pointList_Y.pop();&lt;br /&gt;
 		if (bitmap[x][y]!=temp)&lt;br /&gt;
 			continue;&lt;br /&gt;
 &lt;br /&gt;
 		bitmap[x][y] = b_color;&lt;br /&gt;
 		for (j = 0; j &amp;amp;lt; 8; j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			if(bitmap[x + PLUS_X[j]][y + PLUS_Y[j]]==temp &amp;amp;amp;&amp;amp;amp; bitmap1[x + PLUS_X[j]][y + PLUS_Y[j]])&lt;br /&gt;
 			{&lt;br /&gt;
 				pointList_X.push(x + PLUS_X[j]);&lt;br /&gt;
 				pointList_Y.push(y + PLUS_Y[j]);&lt;br /&gt;
 				bitmap1[x + PLUS_X[j]][y + PLUS_Y[j]]=false;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	while(cin&amp;amp;gt;&amp;amp;gt;instruction)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(instruction==&amp;#039;X&amp;#039;)&lt;br /&gt;
 			break;&lt;br /&gt;
 		if(instruction==&amp;#039;I&amp;#039; || instruction==&amp;#039;C&amp;#039;)&lt;br /&gt;
 		{&lt;br /&gt;
 			if(instruction==&amp;#039;I&amp;#039;)&lt;br /&gt;
 				cin &amp;amp;gt;&amp;amp;gt; size_x &amp;amp;gt;&amp;amp;gt; size_y;&lt;br /&gt;
 			CreateBitmap();&lt;br /&gt;
 		}&lt;br /&gt;
 		else if(instruction==&amp;#039;L&amp;#039; || instruction==&amp;#039;V&amp;#039; || instruction==&amp;#039;H&amp;#039; || instruction==&amp;#039;K&amp;#039;)&lt;br /&gt;
 		{&lt;br /&gt;
 			if(instruction==&amp;#039;L&amp;#039;)&lt;br /&gt;
 			{&lt;br /&gt;
 				cin&amp;amp;gt;&amp;amp;gt; x1&amp;amp;gt;&amp;amp;gt;y1&amp;amp;gt;&amp;amp;gt;color;&lt;br /&gt;
 				x2=x1; y2=y1;&lt;br /&gt;
 			}&lt;br /&gt;
 			else if(instruction==&amp;#039;V&amp;#039;)&lt;br /&gt;
 			{&lt;br /&gt;
 				cin&amp;amp;gt;&amp;amp;gt; x1&amp;amp;gt;&amp;amp;gt;y1&amp;amp;gt;&amp;amp;gt;y2&amp;amp;gt;&amp;amp;gt;color;&lt;br /&gt;
 				x2=x1;&lt;br /&gt;
 			}&lt;br /&gt;
 			else if(instruction==&amp;#039;H&amp;#039;)&lt;br /&gt;
 			{&lt;br /&gt;
 				cin &amp;amp;gt;&amp;amp;gt; x1&amp;amp;gt;&amp;amp;gt;x2&amp;amp;gt;&amp;amp;gt;y1&amp;amp;gt;&amp;amp;gt;color;&lt;br /&gt;
 				y2=y1;&lt;br /&gt;
 			}&lt;br /&gt;
 			else&lt;br /&gt;
 				cin &amp;amp;gt;&amp;amp;gt;x1&amp;amp;gt;&amp;amp;gt;y1&amp;amp;gt;&amp;amp;gt;x2&amp;amp;gt;&amp;amp;gt;y2&amp;amp;gt;&amp;amp;gt;color;&lt;br /&gt;
 			brush(x1,y1,x2,y2,color);&lt;br /&gt;
 		}&lt;br /&gt;
 		else if(instruction==&amp;#039;F&amp;#039;)&lt;br /&gt;
 		{&lt;br /&gt;
 			cin &amp;amp;gt;&amp;amp;gt;x1&amp;amp;gt;&amp;amp;gt;y1&amp;amp;gt;&amp;amp;gt;color;&lt;br /&gt;
 			temp = bitmap[x1][y1];&lt;br /&gt;
 			for(i=0; i&amp;amp;lt;size_x+2; i++)&lt;br /&gt;
 				for(j=0; j&amp;amp;lt;size_y+2; j++)&lt;br /&gt;
 					bitmap1[i][j]=true;&lt;br /&gt;
 			regionBrush(x1, y1, color);&lt;br /&gt;
 		}&lt;br /&gt;
 		else if(instruction==&amp;#039;S&amp;#039;)&lt;br /&gt;
 		{&lt;br /&gt;
 			cin &amp;amp;gt;&amp;amp;gt; name;&lt;br /&gt;
 			printing();&lt;br /&gt;
 		}&lt;br /&gt;
 		cin.getline(trash, 254);&lt;br /&gt;
 	}&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>