From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from tb-mx1.topicbox.com (localhost.local [127.0.0.1]) by tb-mx1.topicbox.com (Postfix) with ESMTP id DBBC21DFBD59 for <9fans@9fans.net>; Sat, 4 Apr 2020 16:32:52 -0400 (EDT) (envelope-from jeremyjackins@gmail.com) Received: from tb-mx1.topicbox.com (localhost [127.0.0.1]) by tb-mx1.topicbox.com (Authentication Milter) with ESMTP id C83E86B2F17; Sat, 4 Apr 2020 16:32:52 -0400 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1586032372; b=WfSEHKx7ILVU2stwGt+8p1LQPh7JaGH+wS2VJeSZ8lEoK6vnj3 6OILnGcONfH1dkU3qcriVykktpdSz91JIneZc8QWMD7rFYmDZtpn9bLDp/LkSn/B PnLY7NHVl06uysE+S7+LsaxSUx/X8GaNsZEYnFhoUe4S0CEQ+FR6+cPy79ZzK4Zn 2d807JBE6iVO8W5abd2CIFy3WVC/Jkw9ddP1DT+W3EV41S7lWe7asWWU8O2rXvDI a+tb4XJauJ6Y068X/7D8bfqK4ubqGHmYphPz4kejfQDXF/D1q0sBisep+X7L4FCu kMSc838sf1BPVnAHz4nE9W/5PYXet7QKLjbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type; s=arcseal; t=1586032372; bh=uCGIK2wrzurU4dritdc8thC8syzSBEMol6ZD2G0BoaA=; b=hf+MbBk7pgnN H31Hq+mq+PkJT0S8IGN30HJwmTKuD4c3qk78wGhxBg1TwxDN6gU7Ffab7vgXy34o V6xdmHAvvoBuRq58Ms+e44plA7ptxvUyfJIZz6F9PVdnq8qX+q9R3hbpwWsnaXkN C8ls7TD2iP8WfP8pZS7MsaUM7j/BP5evOodLcuNAbCzhjvvywAM6awW0iCFCAz+q YLu3f+eaU8Xz6B7JMOjKhz9YHr0a8LmUMt/rZLwl4H4nxbqprueD0ac2z9o4gsC6 LJDr3H+N3kM0tihMaMWkrGcW0pYZSitfwjwOhhjHkQp8pzXJx4iHKa+xM5ANvijp wccS+P/P8Q== ARC-Authentication-Results: i=1; tb-mx1.topicbox.com; arc=none (no signatures found); bimi=none (Domain is not BIMI enabled); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=sXmBvToq header.a=rsa-sha256 header.s=20161025 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.217.65 (mail-vs1-f65.google.com); spf=pass smtp.mailfrom=jeremyjackins@gmail.com smtp.helo=mail-vs1-f65.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=ignn52Aw; x-ptr=pass smtp.helo=mail-vs1-f65.google.com policy.ptr=mail-vs1-f65.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 Authentication-Results: tb-mx1.topicbox.com; arc=none (no signatures found); bimi=none (Domain is not BIMI enabled); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=sXmBvToq header.a=rsa-sha256 header.s=20161025 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.217.65 (mail-vs1-f65.google.com); spf=pass smtp.mailfrom=jeremyjackins@gmail.com smtp.helo=mail-vs1-f65.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=ignn52Aw; x-ptr=pass smtp.helo=mail-vs1-f65.google.com policy.ptr=mail-vs1-f65.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgeduhedrtdekgddugeekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpeggfhgjhf ffkffuvfgtsehttdertddttdejnecuhfhrohhmpeflvghrvghmhiculfgrtghkihhnshcu oehjvghrvghmhihjrggtkhhinhhssehgmhgrihhlrdgtohhmqeenucffohhmrghinhepgh hithhhuhgsrdgtohhmpdhgohhlrghnghdrohhrghdptggrthdqvhdrohhrghenucfkphep vddtledrkeehrddvudejrdeiheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh epihhnvghtpedvtdelrdekhedrvddujedrieehpdhhvghlohepmhgrihhlqdhvshduqdhf ieehrdhgohhoghhlvgdrtghomhdpmhgrihhlfhhrohhmpeeojhgvrhgvmhihjhgrtghkih hnshesghhmrghilhdrtghomhequcfukfgkgfepfeejvdeg X-ME-VSScore: 0 X-ME-VSCategory: clean Received-SPF: pass (gmail.com ... _spf.google.com: Sender is authorized to use 'jeremyjackins@gmail.com' in 'mfrom' identity (mechanism 'include:_netblocks.google.com' matched)) receiver=tb-mx1.topicbox.com; identity=mailfrom; envelope-from="jeremyjackins@gmail.com"; helo=mail-vs1-f65.google.com; client-ip=209.85.217.65 Received: from mail-vs1-f65.google.com (mail-vs1-f65.google.com [209.85.217.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tb-mx1.topicbox.com (Postfix) with ESMTPS for <9fans@9fans.net>; Sat, 4 Apr 2020 16:32:52 -0400 (EDT) (envelope-from jeremyjackins@gmail.com) Received: by mail-vs1-f65.google.com with SMTP id s10so7234872vsi.9 for <9fans@9fans.net>; Sat, 04 Apr 2020 13:32:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=uCGIK2wrzurU4dritdc8thC8syzSBEMol6ZD2G0BoaA=; b=sXmBvToqp8Bfxpi/MgfTES+6nOLKh5p4SyG6gF1q7ufskKp6oRzhTcLudVa6rAOYe9 CJovNzCLceiFG7eNyA4dtnNvhmXaxo89Orcff51GztP82p4sLpU2uesX0SfQB40u7Yyt 1TYz3gG0Deq7uHucbsrdcjuNqHghk68AjQslXRHyCuM7Kkhmh3SSHisUerKgAlfMSs2t sGq1hDJitKZLbgrEWAhIrg3JhLEdvYdStFAkRuQeSH0yC9KON0MapVtQNzMLI0qB8E+3 Dn5s+MtHPVgWJ0vdHDpBuLlSYbiTGIcb5fYM1NPYILfmxUhsK4PenAyaGqVcXTFEVMmH rKoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=uCGIK2wrzurU4dritdc8thC8syzSBEMol6ZD2G0BoaA=; b=ignn52AwyM8RH/NwVlXOvMp7Nak0jCgkwEyMWePB8Ym90uOCMfV1YyoPIEkUXiwXOS nMGJZ8TiZDn+WpOyZBJwKlGv1UsuP8jyVY2gjHCabRlDSxTGAp6/ZVuTzY4PAt6fGdOW F9tPVFFoWkPlUuGPJ9vZfVN8tMu4qFKzCpIgLE8VNOH0ssXnw0ArpeA3h2YmTCPXvp9x 5Ft/rrbH8PAHRsmROm8FhHeIJXCtT15TGHuZ67Rpzl+LAlX53MuHCOFu7hJqJiTa2Wpp +AmggCec19EKyGEJM/zlLL+ybsdYseQKZJKBdIWqO/tQm9CuPQkQXGpIrxPNpK8PVtjS xjNg== X-Gm-Message-State: AGi0PuZmZYCHB5Oy0xmUficzdWkIbbJYe6NYdu7HODvEB/NlB1sU8+EV 5bNx9PWvtKPpD17gasJQDaZ8hV8Je514hgm7rTV8Fm7E9fY= X-Google-Smtp-Source: APiQypIdUd99l960pDYSn6xRM/pJs3pwrpsHBce3U28oWXyKcfkw6oT+Di02RW3PAVIsfoWlgU3G/TiT155ThV2LNTE= X-Received: by 2002:a05:6102:2042:: with SMTP id q2mr10699096vsr.10.1586032371647; Sat, 04 Apr 2020 13:32:51 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jeremy Jackins Date: Sat, 4 Apr 2020 13:32:30 -0700 Message-ID: Subject: Re: [9fans] a simple graphical application in Go? To: 9fans <9fans@9fans.net> Content-Type: text/plain; charset="UTF-8" Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: 7833710e-76b3-11ea-bb5e-b8f5e4c60be9 Well, you need a Go draw package in place of the C library. There is a draw package in github.com/9fans/go/ but unfortunately I think it only supports plan9port devdraw, rather than the native Plan 9 draw device. So there is some library work to be done first. Since the Go standard library also contains the most important drawing primitives implemented by the Plan 9 draw device (with the exception of font rendering, but there is golang.org/x/image/font), you may be able to ignore a lot of functionality provided by the Plan 9 draw library and focus on a few things like loading pixel data directly to the draw device. See: http://man.cat-v.org/plan_9/3/draw Jeremy On Sat, 4 Apr 2020 at 06:55, Kim Lassila wrote: > > Has anyone written a graphical application in Go on Plan 9? How would the Go equivalent of black.c (thank you fgb) look like? > > - - - clip - - - > > #include > #include > #include > > void > main(int, char *argv[]) > { > Rectangle rect; > Image *black; > > fmtinstall('R', Rfmt); > if(initdraw(nil, nil, argv[0]) < 0) > sysfatal("initdraw: %r"); > rect = screen->r; > black = display->black; > draw(screen, rect, black, nil, ZP); > flushimage(display, 1); > sleep(5 * 1000); > closedisplay(display); > print("rectangle was %R\n", rect); > exits(nil); > } > > 9fans / 9fans / see discussions + participants + delivery options Permalink