Archive for the ‘身近de便利なテクノロジ’ Category

PictRuler for iPad ver1.3.5リリース!

火曜日, 8月 15th, 2017

PictRuler for iPad ver1.3.5がリリースされました。

ほぼWindows版と同じ機能が盛り込まれています。

PictRuler ver1.3.5からは以下の機能が搭載されています。

1)立面図の軒の表現を屋根なりにできるようにした。
2)ロングタップのメニューがタップ時に感度過敏すぎる現象を回避した。
3)見積書に明細を出力できるようにした。
4)カメラ撮影で画像を追加する場合クラッシュするバグを修正した。.
5)軒の出を細かく調整できるようにした。
6)写真に写らない情報を手入力できるようにした.
7)オブジェクトリストの空白部をクリックするとクラッシュするバグを修正した。
8)オブジェクトリストの挙動がおかしいバグを修正した。
9)メニューのコンフリクトを修正した。
10)コンテキストメニューを長タップで表示するようにした。
11)凹凸面の入力と集計(v1.1.9より凹凸面の入力は可能)
12)オブジェクトリストを使ったデータ編集
13)凹凸面を入力するために、面選択モードとオブジェクト選択モードの二つのモードが搭載されました。
14)オブジェクト選択モードの場合に画面の空白部をタップするとショートカットメニューを表示するようにした。
15)凹凸面を集計するため拾い出しルーチンを全面的に見直した。
16)V1.1.9で発生した多くのバグを修正しています。
17)凹凸部、バルコニーオブジェクトを実装し凹凸のある建物にも適用可能とした。

TouchJW v2.7系 for iOSについて

木曜日, 7月 20th, 2017

TouchJW v2.7系 for iOSについて、現在スペックを調整中です。

最低動作OSを iOS 9.3に設定するか?iOS11の機能を見送るか?

v2.6系とv2.7系を共存させるか?<これはやりたくない。

iOS11対応で iOS10を切り捨てれば、iPhone5/iPhone5C/最新以外のiPodTouchが切り捨てられます。

ということで、夏の思案は続く。

とりあえず。HPのイメージを変えよう。! v2.7になったら。

 

PictRuler v1.3.2リリース

水曜日, 7月 19th, 2017

PictRuler v1.3.2リリース

https://www.microsoft.com/ja-jp/store/p/pictruler/9nblggh4x5hb

PictRuler ver1.3.2からは以下の機能が搭載されています。

1)見積書に明細を出力できるようにした。
2)カメラ撮影で画像を追加する場合クラッシュするバグを修正した。.
3)軒の出を細かく調整できるようにした。

PictRuler ver1.3.1からは以下の機能が搭載されています。

1)写真に写らない情報を手入力できるようにした.
2)オブジェクトリストの空白部をクリックするとクラッシュするバグを修正した。
3)オブジェクトリストの挙動がおかしいバグを修正した。
4)メニューのコンフリクトを修正した。
5)コンテキストメニューを長タップで表示するようにした。

PictRulerを内装拾いに使う!

火曜日, 7月 11th, 2017

PictRulerを内装拾いで使う方法をまとめましたのでUploadします。

PictRulerは基本2面のモードですが1面のモードに切り替えれば、手軽に面を撮影し図ることができます。その方法をどうぞ。

Surface Dialをごにょごにょする。

日曜日, 7月 9th, 2017

Windows 10 [1607]から「設定」「デバイス」アプリに登場したのが「ホイール」である。実態はアメリカでは2016/11に「Surface Studio」とともに登場した「Surface Dial」である。

OSでは「ホイール」と名乗っているにもかかわらず製品では「Surface Dial」でこれを使うAPIがRadialController-API群である。

ということで、この時点ですでに混乱しているが、気にせず自作アプリへの実装を考えてみる。

基本、自分の周りにはC/C++使いしかいないので話はC/C++で進めていく、ごにょごにょやっている最中にWindows Updateで解消した不思議な動きもあった。

Surface Dailの API情報は以下が詳しい、
https://docs.microsoft.com/ja-jp/windows/uwp/input-and-devices/windows-wheel-interactions

基本、C#であるが、UWPではC++での情報は一見なさそうだが、基本、サンプルプログラムを弄り回すことで自分のプログラムへの実装ができそうだ。

ということで、C++で書いてある、UWPアプリの TouchJWに実装してみた。
最近は下手にAPIのリファレンスを読みまくるよりも、MSさんが公開しているサンプルプログラムをいじりまくるのが吉ですが、一応基本はAPIなので、押さえておく、
https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Input.RadialController

ということで、[1607]から[1703]への移行で使えるAPIが増えている。

わたしのメインはSurface Pro 初代なので、[1703]へUpgradeするとディスプレイドライバがごねるので、結局[1603]に戻すというつらい仕打ちを強いられた。
ま、しかし、何とかなるな?ということで[1703]で実装されたAPIを使わないと[1607]でも十分に行ける感じなので、[1607]+VS2015でやってみた。

UWPでは、そんなに、苦も無く実装できた。しかし、新しいユーザーインターフェイスなので、本当に使いやすい技を出すのにはもう少し頑張らないと。
UWPアプリで注意すべき点は、Windows 10 Mobileでは、RadialControllerは乗っかっていないので、APIの初期化時に落ちます。ので、デバイスファミリを調べて、Phoneデバイスであれば、RadialControllerのAPIは呼ばないようにする必要がある。

さて、
https://docs.microsoft.com/ja-jp/windows/uwp/input-and-devices/windows-wheel-interactions
の最下行に

Windowsの従来のデスクトップのサンプル

というのがある、これをクリックすると、GitHubに飛ばされるので、CPPのソースをいただいてくる。そして、既存のプログラムに実装できないかと思って、ごにょごにょする。

C#のソースは充実しているが、CPPのソースはワーニングが出たり、ほとんどやる気がない感じだなぁ…
とりあえず。コンパイルしてみて、[1607]でとりあえず動く、がデバッガで追ったりすると、変な動作があるので、調べると[1703]用のAPIが使われている。

これを取っ払い、コンパイルすると無事に動く。

さて、GitHubのソースを眺めて、実際にWin32のフォームアプリに乗っけてみる、
基本的に、GitHubの DeviceListener.cpp / DeviceListener.h こいつに主要なAPIコールの実装がされている。本来ならコツコツ組まないといけないのだかが、面倒くさいので、
DeviceListener.cpp / DeviceListener.hをそのまま改変して自分のWin32のフォームアプリに乗っけてみることにする。

この辺の解析には、ここのサイトが参考になった。
http://blog.tmyt.jp/entry/2016/11/17/173447

基本的には一瞬で乗っけられる。これからガンガン作っていけそうだと思うのであるが、

躓いたのが、上記サイトでも書いてある。「RadialControllerConfiguration::SetDefaultMenuItems」だ。
これは、RadialControllerはデフォルトボタンというのを持っていて、数種類のデフォルトボタンを定義できる。設定するには最初に書いた、「設定」「デバイス」アプリに登場したのが「ホイール」だ。

これには、「拡大」「スクロール」「アンドゥ」などのコマンドが割り当てられている。ちなみに、対応していないWindowsフォームアプリでSurface Dialを長押しして、これらのボタンを実行すると次の現象が発生する。

「拡大」の場合 WM_MOUSEWHELLがキューに投げられる。
「スクロール」の場合、「PgUp/PgDn」キーイベントがキューに投げられる。
「アンドゥ」の場合、「アンドゥ/リドゥ」のキーイベントが投げられる。

ということで、この動きはわかったのである、「RadialControllerConfiguration::SetDefaultMenuItems」というのはこのデフォルトボタンを自分のアプリに応じて設定するもんだ。

ところが、GitHubのCPPのソースにはこの辺の記述がない。仕方がないので、ヘッダファイルを読んだりしたのですが、SetDefaultMenuItemsの呼び方がわからない、
CPPのソースはGetActivationFactoryあたりで、ヘッダの文字列から、SetDefaultMenuItemsのポインタを引っ張ってくる感じだったのですが、どうやらこれをまちがっている感じこれだけで、1か月以上かかってしまった。C#でDLLを書いてそれをWin32から呼ぶかと?C#のソースを眺めているとSetDefaultMenuItemsのポインタを引っ張ってくる方法がわかった。

ということで、SetDefaultMenuItemsのポインタが取れたのはいいが、Win32環境で IVectorの扱いがナゾであちこちググったが、だめであった。

これは参考にしたサイト.http://blog.tmyt.jp/entry/2016/11/17/173447 にも書いてあるが,IVectorを使うにはWin32では、IDLファイルを作成、定義を書いて、MIDLコンパイラで処理

生成されたヘッダをインクルードしてコンパイルしなさいと、しかし、VS2015とVS2017では、どうもIDLファイルの記述が、どうも違うみたいである、この辺が謎になって結局、引数を設定することはできなかった。誰かこの辺を教えてください。…

SetDefaultMenuItemsの引数であるが、とりあえず。NULLを突っ込むと消えてくれました。[1703]だと、ちなみに[1607]だと、落ちました。(^^;…

Surface Dialのプログラミングの一つの情報になれば(^^;…

とにかく、Win32でデフォルトボタンを簡単に定義で来たら…と思うが

 

こんな、記事が(^^;..英語じゃ
https://blogs.windows.com/buildingapps/2017/07/06/calling-winrt-components-win32-process-via-desktop-bridge/#1x33gx2CgdwUQ32b.97 

TouchJW v2.6.0 for iOSリリース!

日曜日, 6月 25th, 2017

https://itunes.apple.com/jp/app/touchjw-v2/id996794955?mt=8

バージョン 2.6.0 の新機能

ver 2.6.0

1)動作iOSの変更 iOS9.3以降としました。
2)Dropbox API v2へ変更した。
3)BOXアプリの連携不具合をバグフィックスしました。

ver2.6以前のTouchJW v1.v2.5までのバージョンでは、Dropbox側のAPI v1の廃止により接続できなくなります。
 
iOS版でDropboxを今後もお使いの場合は、ver2.6へのバージョンアップをお願いいたします。