[Swfed-svn] swfed-svn [403] 表示枠の移動指定が意図した 1 / 20 しか移動しない不具合を修正

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2011年 3月 10日 (木) 01:42:54 JST


Revision: 403
          http://sourceforge.jp/projects/swfed/svn/view?view=rev&revision=403
Author:   yoya
Date:     2011-03-10 01:42:53 +0900 (Thu, 10 Mar 2011)

Log Message:
-----------
表示枠の移動指定が意図した 1/20 しか移動しない不具合を修正
ユーザから受け取る値は論理pixelでSWFはTWIPSなので20倍する必要があった。

Modified Paths:
--------------
    trunk/src/swf_shape_record.c


-------------- next part --------------
Modified: trunk/src/swf_shape_record.c
===================================================================
--- trunk/src/swf_shape_record.c	2011-03-08 17:49:03 UTC (rev 402)
+++ trunk/src/swf_shape_record.c	2011-03-09 16:42:53 UTC (rev 403)
@@ -137,7 +137,7 @@
     swf_shape_record_t *current_record;
 
     // top-left base adjust
-    signed min_x = 20*10000, min_y = 20*10000;
+    signed min_x = SWF_TWIPS*10000, min_y = SWF_TWIPS*10000;
     for (current_record = shape_record ; current_record ; current_record = current_record->next) {
         first_bit = (current_record->first_6bits >> 5) & 1;
         next_5bits = current_record->first_6bits & 0x1f;
@@ -159,12 +159,12 @@
         next_5bits = current_record->first_6bits & 0x1f;
         if (first_bit) { // edge
             swf_shape_record_edge_t *edge = &(current_record->shape.shape_edge);
-            edge->shape_x = (edge->shape_x - min_x) * scale_x + min_x + trans_x;
-            edge->shape_y = (edge->shape_y - min_y) * scale_y + min_y + trans_y;
+            edge->shape_x = (edge->shape_x - min_x) * scale_x + min_x + trans_x * SWF_TWIPS;
+            edge->shape_y = (edge->shape_y - min_y) * scale_y + min_y + trans_y * SWF_TWIPS;
         } else if (next_5bits) { // setup
             swf_shape_record_setup_t *setup = &(current_record->shape.shape_setup);
-            setup->shape_move_x = (setup->shape_move_x - min_x) * scale_x + min_x + trans_x;
-            setup->shape_move_y = (setup->shape_move_y - min_y) * scale_y + min_y + trans_y;
+            setup->shape_move_x = (setup->shape_move_x - min_x) * scale_x + min_x + trans_x * SWF_TWIPS;
+            setup->shape_move_y = (setup->shape_move_y - min_y) * scale_y + min_y + trans_y * SWF_TWIPS;
         } else { // end
             break;
         }



Swfed-svn メーリングリストの案内
Back to archive index