/Frameworks/AppKit/browser.platform/CPDOMDisplayServer.j

http://github.com/polymar/polish · Unknown · 91 lines · 91 code · 0 blank · 0 comment · 0 complexity · d3001885b1c99825e574be5ecfbe87cf MD5 · raw file

  1. I;22;Foundation/CPRunLoop.jc;3207;
  2. var _1=nil;
  3. CPDOMDisplayServerInstructions=[];
  4. CPDOMDisplayServerInstructionCount=0;
  5. CPDOMDisplayServerViews=[];
  6. CPDOMDisplayServerViewsCount=0;
  7. CPDOMDisplayServerViewsContext={};
  8. var _2=objj_allocateClassPair(CPObject,"CPDOMDisplayServer"),_3=_2.isa;
  9. objj_registerClassPair(_2);
  10. objj_addClassForBundle(_2,objj_getBundleWithPath(OBJJ_CURRENT_BUNDLE.path));
  11. class_addMethods(_3,[new objj_method(sel_getUid("start"),function(_4,_5){
  12. with(_4){
  13. _1=objj_msgSend(CPRunLoop,"currentRunLoop");
  14. objj_msgSend(_1,"performSelector:target:argument:order:modes:",sel_getUid("run"),CPDOMDisplayServer,nil,0,[CPDefaultRunLoopMode]);
  15. }
  16. }),new objj_method(sel_getUid("run"),function(_6,_7){
  17. with(_6){
  18. while(CPDOMDisplayServerInstructionCount||CPDOMDisplayServerViewsCount){
  19. var _8=0;
  20. while(_8<CPDOMDisplayServerInstructionCount){
  21. var _9=CPDOMDisplayServerInstructions[_8++];
  22. try{
  23. switch(_9){
  24. case 0:
  25. case 1:
  26. case 2:
  27. case 3:
  28. var _a=CPDOMDisplayServerInstructions[_8],_b=_a.style,x=(_9==0||_9==2)?"left":"right",y=(_9==0||_9==1)?"top":"bottom";
  29. CPDOMDisplayServerInstructions[_8++]=nil;
  30. var _e=CPDOMDisplayServerInstructions[_8++];
  31. if(_e){
  32. var _f={x:CPDOMDisplayServerInstructions[_8++],y:CPDOMDisplayServerInstructions[_8++]},_10={x:_f.x*_e.a+_f.y*_e.c+_e.tx,y:_f.x*_e.b+_f.y*_e.d+_e.ty};
  33. _b[x]=ROUND(_10.x)+"px";
  34. _b[y]=ROUND(_10.y)+"px";
  35. }else{
  36. _b[x]=ROUND(CPDOMDisplayServerInstructions[_8++])+"px";
  37. _b[y]=ROUND(CPDOMDisplayServerInstructions[_8++])+"px";
  38. }
  39. _a.CPDOMDisplayContext[0]=-1;
  40. break;
  41. case 4:
  42. var _a=CPDOMDisplayServerInstructions[_8],_b=_a.style;
  43. CPDOMDisplayServerInstructions[_8++]=nil;
  44. _a.CPDOMDisplayContext[4]=-1;
  45. _b.width=MAX(0,ROUND(CPDOMDisplayServerInstructions[_8++]))+"px";
  46. _b.height=MAX(0,ROUND(CPDOMDisplayServerInstructions[_8++]))+"px";
  47. break;
  48. case 5:
  49. var _a=CPDOMDisplayServerInstructions[_8];
  50. CPDOMDisplayServerInstructions[_8++]=nil;
  51. _a.CPDOMDisplayContext[5]=-1;
  52. _a.width=MAX(0,ROUND(CPDOMDisplayServerInstructions[_8++]));
  53. _a.height=MAX(0,ROUND(CPDOMDisplayServerInstructions[_8++]));
  54. break;
  55. case 6:
  56. CPDOMDisplayServerInstructions[_8].appendChild(CPDOMDisplayServerInstructions[_8+1]);
  57. CPDOMDisplayServerInstructions[_8++]=nil;
  58. CPDOMDisplayServerInstructions[_8++]=nil;
  59. break;
  60. case 7:
  61. CPDOMDisplayServerInstructions[_8].insertBefore(CPDOMDisplayServerInstructions[_8+1],CPDOMDisplayServerInstructions[_8+2]);
  62. CPDOMDisplayServerInstructions[_8++]=nil;
  63. CPDOMDisplayServerInstructions[_8++]=nil;
  64. CPDOMDisplayServerInstructions[_8++]=nil;
  65. break;
  66. case 8:
  67. CPDOMDisplayServerInstructions[_8].removeChild(CPDOMDisplayServerInstructions[_8+1]);
  68. CPDOMDisplayServerInstructions[_8++]=nil;
  69. CPDOMDisplayServerInstructions[_8++]=nil;
  70. break;
  71. }
  72. }
  73. catch(e){
  74. CPLog("here?"+_9);
  75. }
  76. }
  77. CPDOMDisplayServerInstructionCount=0;
  78. var _11=CPDOMDisplayServerViews,_8=0,_12=CPDOMDisplayServerViewsCount;
  79. CPDOMDisplayServerViews=[];
  80. CPDOMDisplayServerViewsCount=0;
  81. for(;_8<_12;++_8){
  82. var _13=_11[_8];
  83. delete CPDOMDisplayServerViewsContext[objj_msgSend(_13,"hash")];
  84. objj_msgSend(_13,"layoutIfNeeded");
  85. objj_msgSend(_13,"displayIfNeeded");
  86. }
  87. }
  88. objj_msgSend(_1,"performSelector:target:argument:order:modes:",sel_getUid("run"),CPDOMDisplayServer,nil,0,[CPDefaultRunLoopMode]);
  89. }
  90. })]);
  91. objj_msgSend(CPDOMDisplayServer,"start");