非公開投稿

非公開投稿というのが可能なものかどうかを確認してみよう.投稿カテゴリには「テント村」と「未分類」の2つがある.多分後者は非公開になるのではないかと思う.やってみよう.いや,どうも単純に公開されている.下書きとすれば非公開になる.投稿オプションには下書きとして投稿という選択肢がある.しかし,下書き投稿したものをブラウザで見るためにはログインすることが必要だ.それも結構面倒くさい.ログインして編集するのならそもそもOpen Live Writerを使う意味がない…

なぜこんなことを考えたかというという,進捗が止まって足踏みの状態が続いているため,思いのままに気楽にロギングするという感じがつかめないためだ.読者を意識しないで書くとすれば,非公開という方法しかない.これまではそういうことまでは考えたことがなかったが,思考力や根気の衰えというのは隠しようもない.もしかすると,ロギングに使っているノートを右手に配置するというのが効果があるかもしれない.これは最後の手段と思われるが,藁にもすがってみよう.

悪くないような感じはするが,それほど効果的であるような感じもしない…フルキーボードには右にテンキーが並んでいるので画面から却って遠くなり,余分なストレスが生じるような気もする.キーボードの前面に配置するのが一番楽であることは確かだ.いっそのこと,キーボードとモニターの中間に置くというのも考えられないではない.かなり無理な感じはあるが,ロギングを作業の中心と位置付けるのならあり得ない配置ではない.⇒ただ,少しやり過ぎの感はある…

IMG_20220325_135332

やはり,ロギング用のノートは左配置しかないような気がする.この配置に慣れてしまえばよいのではないだろうか?⇒それしかないような気がする.今のところは,これがベストと考えるしかなさそうだ.ともかく,しばらくこれで行ってみることにしよう.

何が問題なのか?それが問題だ?一言で言えば横書きにしたときのクリップ領域の問題だ.これまで縦書きでは問題は起きていないと考えられるいので,これは「横書き上の問題」であると言える.また,クリッピングをまったく行わないようにすれば描画可能であるところから,クリップ領域の問題であるとも言える.確かに,「横書き」という設定には多少の問題があることは確かだ.横書き座標系という座標系は存在しない.というか,少なくとも静的なデータとしては保持していない.内部座標系は論理座標系であり,この座標系は本来縦書きで用いられてきたものだ.縦のものを横にすれば横書きになるというのは確かであり,実際その方法で描画可能になっている.

縦のものを横にするという「変換」は描画を実行するプリミティブな関数のところで走行時に直接実施される.物理座標系はウィンドウ座標系であり,座標単位はピクセルである.クリッピングを実施するときには,その直前の状態を退避して,事後に書き戻すような動作になっている.このとき,①元のクリップ領域が復元されない,②描画時にクリップ領域の論理和を取る演算で領域空が発生する,という2つの問題が発生している.まず,①の問題から見ることにしよう.⇒すこしいじり過ぎてしまったようだ.一度バックアップに戻って安定したところから再開することにする.2022-03-17まで戻ることになった.この版ではゼルコバの木3.zelがエラーなしに描画できる.

image

これよりあとの版ではエラーが出る上,画面の一部が欠けてしまうなどの不具合がある.この図面は横書きに取り組んだときに最初に扱ったもので,結局スタート地点まで戻ってしまった.ともかく,ここから出直すことにしよう.3月17日のログでは最初に「reverseAxisの参照箇所をDrawingObject.cppに集約」するということをやっている.とりあえずこれはやっておくことにする.この日のログには「インポートしたときの図面に系線や人名が表示されないという問題」があるとしているが,少なくともこのサンプルでは問題なく描画できている.なぜだろう?⇒いや,確かに起きている.「インポート」が再現の条件だ.

ログにあるように「Bobject::setClipRegionでつねにpdc->SelectClipRgn(NULL)とすれば描画可能」であることは確かだ.3月21日のログには,「RGN_COPYには第一引数をNULLにしてSelectClipRgnを呼び出すようにすれば,正しく動作する」とある.⇒確かにそのようだ.ただし,Bobject::setClipRegionの中でクリップ領域をLPtoDPするとき,直交変換しないようにすると描画できなくなる.つまり,少なくともここでは直交変換が必須であるように思われる.ともかく,ここから始めるしかない.腰を落ち着けて取り組むことにしよう.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA