<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[125665] trunk/dports/graphics</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/125665">125665</a></dd>
<dt>Author</dt> <dd>mf2k@macports.org</dd>
<dt>Date</dt> <dd>2014-09-23 14:42:10 -0700 (Tue, 23 Sep 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>mandelbrot-set-viewer: New port.</pre>

<h3>Added Paths</h3>
<ul>
<li>trunk/dports/graphics/mandelbrot-set-viewer/</li>
<li><a href="#trunkdportsgraphicsmandelbrotsetviewerPortfile">trunk/dports/graphics/mandelbrot-set-viewer/Portfile</a></li>
<li>trunk/dports/graphics/mandelbrot-set-viewer/files/</li>
<li><a href="#trunkdportsgraphicsmandelbrotsetviewerfilespatchmainpydiff">trunk/dports/graphics/mandelbrot-set-viewer/files/patch-main.py.diff</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportsgraphicsmandelbrotsetviewerPortfile"></a>
<div class="addfile"><h4>Added: trunk/dports/graphics/mandelbrot-set-viewer/Portfile (0 => 125665)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/graphics/mandelbrot-set-viewer/Portfile                                (rev 0)
+++ trunk/dports/graphics/mandelbrot-set-viewer/Portfile        2014-09-23 21:42:10 UTC (rev 125665)
</span><span class="lines">@@ -0,0 +1,56 @@
</span><ins>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+# $Id$
+
+PortSystem          1.0
+
+name                mandelbrot-set-viewer
+version             5.01
+set python_version  27
+categories          graphics
+platforms           darwin
+maintainers         nomaintainer
+license             unknown
+
+description         Python Mandelbrot Set Viewer
+long_description    ${description}
+
+homepage            http://pygame.org/project-Mandelbrot+Set+Viewer-698-4788.html
+
+master_sites        http://www.geometrian.com/data/programming/projects/Mandelbrot%20Set/Viewer%20${version}/
+
+distname            Mandelbrot Set Viewer ${version}
+worksrcdir          ${version}
+use_zip             yes
+supported_archs     noarch
+
+checksums           rmd160  2324558ff47c91453650156c9137dffe87bcfbf4 \
+                    sha256  1cf037a2b0b759e5702e2cc06261d110179fe5a8e6deaa4fc8bc069780e17a93
+
+patchfiles          patch-main.py.diff
+
+depends_run         port:py${python_version}-game \
+                    port:py${python_version}-opengl \
+                    port:python${python_version}
+
+use_configure       no
+build               {}
+
+destroot {
+    file mkdir ${destroot}${prefix}/share/${name}
+    xinstall -m 644 -W ${worksrcpath} README.txt config.py ${destroot}${prefix}/share/${name}
+    xinstall -m 755 -W ${worksrcpath} gl_shader.py main.py ${destroot}${prefix}/share/${name}
+    file rename ${destroot}${prefix}/share/${name}/config.py ${destroot}${prefix}/share/${name}/config.py.dist
+    ln -s ${destroot}${prefix}/share/${name}/main.py ${destroot}${prefix}/bin/${name}
+}
+
+post-activate {
+    if {![file exists ${prefix}/share/${name}/config.py]} {
+        file copy ${prefix}/share/${name}/config.py.dist ${prefix}/share/${name}/config.py
+    }
+}
+
+notes &quot;To run this program, type 'python2.7 ${prefix}/share/${name}/main.py'. 
+You can modify the output by changing ${prefix}/share/${name}/config.py&quot;
+
+livecheck.url       ${homepage}
+livecheck.regex     Mandelbrot Set Viewer - (\\d+(\\.\\d+)+)
</ins><span class="cx">Property changes on: trunk/dports/graphics/mandelbrot-set-viewer/Portfile
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkdportsgraphicsmandelbrotsetviewerfilespatchmainpydiff"></a>
<div class="addfile"><h4>Added: trunk/dports/graphics/mandelbrot-set-viewer/files/patch-main.py.diff (0 => 125665)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/graphics/mandelbrot-set-viewer/files/patch-main.py.diff                                (rev 0)
+++ trunk/dports/graphics/mandelbrot-set-viewer/files/patch-main.py.diff        2014-09-23 21:42:10 UTC (rev 125665)
</span><span class="lines">@@ -0,0 +1,98 @@
</span><ins>+--- main.py.orig        2014-09-23 13:57:41.000000000 -0600
++++ main.py        2014-09-23 14:16:46.000000000 -0600
+@@ -20,7 +20,7 @@
+ font = pygame.font.SysFont(&quot;Times New Roman.ttf&quot;,12)

+ icon = pygame.Surface((1,1)); icon.set_alpha(0); pygame.display.set_icon(icon)
+-pygame.display.set_caption(&quot;MandebrotGLSL - Ian Mallett - v.5.01 - 2014&quot;)
++pygame.display.set_caption(&quot;MandebrotGLSL - Ian Mallett - v.5.02 - 2014&quot;)
+ pygame.display.set_mode(screen_size,RESIZABLE|OPENGL|DOUBLEBUF)

+ glEnable(GL_BLEND)
+@@ -28,8 +28,9 @@

+ mandelbrot_shader = shader_module.Program([
+     shader_module.ShaderFragment(&quot;&quot;&quot;
+-//#define SIMPLE
+-#ifndef SIMPLE
++//#define BLACK_AND_WHITE
++#ifndef BLACK_AND_WHITE
++//    #define HAS_SWITCH
+     #define HAS_MOD
+     #ifdef HAS_MOD
+         #extension GL_EXT_gpu_shader4 : enable /*for &quot;%&quot;*/
+@@ -52,32 +53,51 @@
+ uniform FVEC2 bounds_y;
+ uniform FVEC2 screen_size;
+ vec3 get_color(int iter) {
+-    #ifndef SIMPLE
++    #ifdef BLACK_AND_WHITE
++        return vec3(255.0);
++    #else
+         #ifdef HAS_MOD
+-        switch (iter%16) {
++            iter %= 16;
+         #else
+-        iter -= (iter/16)*16;
+-        switch (iter) {
++            iter -= (iter/16)*16;
++        #endif
++        #ifdef HAS_SWITCH
++            switch (iter) {
++                case  0: return vec3(241,233,191);
++                case  1: return vec3(248,201, 95);
++                case  2: return vec3(255,170,  0);
++                case  3: return vec3(204,108,  0);
++                case  4: return vec3(153, 87,  0);
++                case  5: return vec3(106, 52,  3);
++                case  6: return vec3( 66, 30, 15);
++                case  7: return vec3( 25,  7, 26);
++                case  8: return vec3(  9,  1, 47);
++                case  9: return vec3(  4,  4, 73);
++                case 10: return vec3(  0,  7,100);
++                case 11: return vec3( 12, 44,138);
++                case 12: return vec3( 24, 82,177);
++                case 13: return vec3( 57,125,209);
++                case 14: return vec3(134,181,229);
++                case 15: return vec3(211,236,248);
++            }
++        #else
++            if        (iter== 0)   return vec3(241,233,191);
++            else   if (iter== 1)   return vec3(248,201, 95);
++            else   if (iter== 2)   return vec3(255,170,  0);
++            else   if (iter== 3)   return vec3(204,108,  0);
++            else   if (iter== 4)   return vec3(153, 87,  0);
++            else   if (iter== 5)   return vec3(106, 52,  3);
++            else   if (iter== 6)   return vec3( 66, 30, 15);
++            else   if (iter== 7)   return vec3( 25,  7, 26);
++            else   if (iter== 8)   return vec3(  9,  1, 47);
++            else   if (iter== 9)   return vec3(  4,  4, 73);
++            else   if (iter==10)   return vec3(  0,  7,100);
++            else   if (iter==11)   return vec3( 12, 44,138);
++            else   if (iter==12)   return vec3( 24, 82,177);
++            else   if (iter==13)   return vec3( 57,125,209);
++            else   if (iter==14)   return vec3(134,181,229);
++            else /*if (iter==15)*/ return vec3(211,236,248);
+         #endif
+-            case  0: return vec3(241,233,191);
+-            case  1: return vec3(248,201, 95);
+-            case  2: return vec3(255,170,  0);
+-            case  3: return vec3(204,108,  0);
+-            case  4: return vec3(153, 87,  0);
+-            case  5: return vec3(106, 52,  3);
+-            case  6: return vec3( 66, 30, 15);
+-            case  7: return vec3( 25,  7, 26);
+-            case  8: return vec3(  9,  1, 47);
+-            case  9: return vec3(  4,  4, 73);
+-            case 10: return vec3(  0,  7,100);
+-            case 11: return vec3( 12, 44,138);
+-            case 12: return vec3( 24, 82,177);
+-            case 13: return vec3( 57,125,209);
+-            case 14: return vec3(134,181,229);
+-            case 15: return vec3(211,236,248);
+-        }
+-    #else
+-        return vec3(255.0);
+     #endif
+ }
+ int shade_index(int iter) {
</ins></span></pre>
</div>
</div>

</body>
</html>