You're right again Bill, and it offers one possible workaround to avoid using BMP for viewmat in iOS.
But there are wider issues. I feel BMP is too useful in general to think of expelling it completely from the app. On Tue, 20 Sept 2022 at 04:58, bill lam <bbill....@gmail.com> wrote: > IIRC jqt doesn't convert viewmat bmp into RGB data. Instead viewmat > provides RGB data and jqt display it using gl2. No bmp is involved. > > On Tue, Sep 20, 2022 at 11:49 AM Ian Clark <earthspo...@gmail.com> wrote: > > > > Since 2014, viewmat generated png format file instead of bmp. > > > > Yes that's true of the JAL addon. But both j701 / j901 for iOS have their > > own versions of viewmat, which work in the way I describe. > > > > On Tue, 20 Sept 2022 at 04:40, bill lam <bbill....@gmail.com> wrote: > > > > > Since 2014, viewmat generated png format file instead of bmp. > > > > > > On Tue, Sep 20, 2022 at 11:34 AM Ian Clark <earthspo...@gmail.com> > > wrote: > > > > > > > I confess I'm slightly baffled by Richard's post. AFAIK the value > > > returned > > > > by the verb: viewmat is undefined, and no meaning can be attached to > > it. > > > > Viewmat works in different ways on different platforms, but when I > > trace > > > > the code of verb: viewmat as defined in line 361 of > > > > ~addons/graphics/viewmat/viewmat.ijs it typically returns some > variant > > of > > > > empty, EMPTY or i.0 0. > > > > > > > > > > > > So, taking Richard's sample sentences and replacing the argument with > > y, > > > > it's no surprise that: > > > > > > > > > > > > viewmat y > > > > > > > > NB. no output > > > > > > > > > > > > $viewmat y > > > > > > > > 0 0 > > > > > > > > > > > > However while checking this out I've stumbled on the tip of an > iceberg. > > > > Thank you Richard for alerting me to the fact. > > > > > > > > > > > > The code of Viewmat is involved. It looks as if it's been patched and > > > > patched over the years. But whatever the platform, it basically works > > by > > > > generating a bitmap (BMP) file (i.e. having the extension .bmp) and > > then > > > > picking one of a bunch of ways to display it. > > > > > > > > > > > > Both j701 and j901 apps for iOS generate a BMP file. j701 wraps the > > file > > > > path in html code which it then displays using UIKit's (deprecated) > > > browser > > > > object UIWebView. j901 uses neither UIWebView nor the replacement > > > WkWebView > > > > to display the BMP file, but instead calls UIKit's image display > object > > > > UIImageView, which can handle BMP. Or it did once. > > > > > > > > > > > > Apple had recently released updates to several of its systems fixing > > > major > > > > security exposures. Since then Viewmat *in both j701 and j901* has > > > broken. > > > > (It was working in both apps in July of this year.) > > > > > > > > > > > > JQt is unaffected. Viewmat still works on a Mac running the latest > > > version > > > > of Monterey. I'm guessing this is because JQt does not use Apple > system > > > > code to display the generated BMP. Instead it converts the BMP file > > > > contents into an RGB array (a J noun of integer type) and then uses > gl2 > > > > (glpixels) to display it on a Qt-managed canvas. > > > > > > > > > > > > When I copy the BMP file generated by j901 onto a Mac MBA which is > > still > > > > running Big Sur, I can readily display it using Preview – and the > icon > > > > itself shows a thumbnail of the file contents. But I cannot get a > newer > > > Mac > > > > running Monterey to display the very same BMP. Yet Monterey was able > to > > > do > > > > so back in July, before the recent Apple fixes. It's the same story > > with > > > > iOS. On both platforms Preview now tells me that my BMP file is > either > > > > corrupt or an unsupported file format. > > > > > > > > > > > > This cannot be a coincidence. It looks as if Apple has simply decided > > to > > > > cancel BMP on the latest versions of Monterey and iOS. But I find it > > hard > > > > to believe. Maybe it's just a bug introduced by Apple in its haste to > > > shore > > > > up its systems. Or maybe the BMP spec is being more closely > adhered-to > > > than > > > > hitherto. > > > > > > > > > > > > I propose to take the matter up with Apple. J needs BMP, even if > Apple > > > > doesn't. > > > > > > > > On Mon, 19 Sept 2022 at 18:24, 'Mike Day' via Programming < > > > > programm...@jsoftware.com> wrote: > > > > > > > > > Confirming Raul’s observations on this iPad running J701 under iOS > > > 12.5.5 > > > > > . > > > > > viewmat shows the circle, square and intermediate shape without > > > problem, > > > > > presumably as required, after copying from the email and pasting > into > > > the > > > > > terminal screen, so Raul probably typed correctly. Also, same > > result > > > > > using either @ or @: as he found. And image is ok running with the > > > > > one-liner pasted into the J701 E screen, ie the script-edit page. > > > > > > > > > > Cheers, > > > > > > > > > > Mike > > > > > > > > > > Sent from my iPad > > > > > > > > > > > On 19 Sep 2022, at 16:52, Raul Miller <rauldmil...@gmail.com> > > wrote: > > > > > > > > > > > >> On Mon, Sep 19, 2022 at 11:15 AM Richard Donovan < > > > > rsdono...@hotmail.com> > > > > > wrote: > > > > > >> viewmat((1>+/~@:(4^~(%~i:)))*.1<+/~@:(2^~(%~i:)))666 > > > > > >> NB. no output > > > > > >> > > > > > >> $viewmat((1>+/~@:(4^~(%~i:)))*.1<+/~@:(2^~(%~i:)))666 > > > > > >> 0 0 > > > > > > > > > > > > This is probably more a topic for the general forum than the > > > > > > programming forum, but viewmat also produces a shape 0 0 result > in > > > > > > jqt. (In jplayground, it produces a shape 1 result which is a > > single > > > > > > space..) > > > > > > > > > > > > In the jqt viewmat, it pops up a new window with the image. In > the > > > > > > jplayground viewmat, it produces an inline image (JHS viewmat > would > > > be > > > > > > similar to jplayground's viewmat). On my iphone, running j701, > the > > > > > > above expression presented the viewmat image at the top of the > > phone > > > > > > (or an expression close to the above -- I hand entered the line, > > and > > > > > > used @ instead of @: which should produce an equivalent result > > here, > > > > > > but the point is that I may have inadvertently changed something > > > > > > else...). > > > > > > > > > > > > To be sure that a viewmat image consistently appears, I copied > the > > > > > > line into the edit window and ran it from there -- when I did so, > > the > > > > > > edit window was hidden (icon at bottom of region changed from E > to > > J) > > > > > > and the session window and the image window appeared. > > > > > > > > > > > > So... whatever the problem is, it might depend on the version of > J > > > you > > > > > > are running and/or the version of ios that you are running? > > > > > > > > > > > > I hope this helps, > > > > > > > > > > > > -- > > > > > > Raul > > > > > > > > > ---------------------------------------------------------------------- > > > > > > For information about J forums see > > > http://www.jsoftware.com/forums.htm > > > > > > > ---------------------------------------------------------------------- > > > > > For information about J forums see > > http://www.jsoftware.com/forums.htm > > > > > > > > > > ---------------------------------------------------------------------- > > > > For information about J forums see > http://www.jsoftware.com/forums.htm > > > > > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm