Skip to content

Commit

Permalink
Merge pull request 'fix/draw-reporter' (#610) from fix/draw-reporter …
Browse files Browse the repository at this point in the history
…into release/v8.3.0

Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/sdkjs/pulls/610
  • Loading branch information
K0R0L committed Jan 31, 2025
2 parents 3be3314 + 8a7d5ce commit 8094d04
Show file tree
Hide file tree
Showing 24 changed files with 1,167 additions and 462 deletions.
23 changes: 4 additions & 19 deletions common/Charts/DrawingObjects.js
Original file line number Diff line number Diff line change
Expand Up @@ -494,15 +494,7 @@ asc_CChartBinary.prototype = {
var binary = this["themeBinary"];
if(binary)
{
var stream = AscFormat.CreateBinaryReader(binary, 0, binary.length);
var oBinaryReader = new AscCommon.BinaryPPTYLoader();

oBinaryReader.stream = new AscCommon.FileStream();
oBinaryReader.stream.obj = stream.obj;
oBinaryReader.stream.data = stream.data;
oBinaryReader.stream.size = stream.size;
oBinaryReader.stream.pos = stream.pos;
oBinaryReader.stream.cur = stream.cur;
let oBinaryReader = AscFormat.CreatePPTYLoader(binary, 0, binary.length);
return oBinaryReader.ReadTheme();
}
return null;
Expand All @@ -513,16 +505,9 @@ asc_CChartBinary.prototype = {
var binary = this["colorMapBinary"];
if(binary)
{
var stream = AscFormat.CreateBinaryReader(binary, 0, binary.length);
var oBinaryReader = new AscCommon.BinaryPPTYLoader();
oBinaryReader.stream = new AscCommon.FileStream();
oBinaryReader.stream.obj = stream.obj;
oBinaryReader.stream.data = stream.data;
oBinaryReader.stream.size = stream.size;
oBinaryReader.stream.pos = stream.pos;
oBinaryReader.stream.cur = stream.cur;
var _rec = oBinaryReader.stream.GetUChar();
var ret = new AscFormat.ClrMap();
let oBinaryReader = AscFormat.CreatePPTYLoader(binary, 0, binary.length);
let _rec = oBinaryReader.stream.GetUChar();
let ret = new AscFormat.ClrMap();
oBinaryReader.ReadClrMap(ret);
return ret;
}
Expand Down
18 changes: 17 additions & 1 deletion common/Drawings/CommonController.js
Original file line number Diff line number Diff line change
Expand Up @@ -10960,12 +10960,28 @@
if(this.controller.handleEventMode === HANDLE_EVENT_MODE_HANDLE) {
if(e.IsLocked) {
this.inkDrawer.startSilentMode();
const aDrawings = this.controller.getDrawingObjects(pageIndex);
let aDrawings = this.controller.getDrawingObjects(pageIndex);
if(Asc.editor.isDrawSlideshowAnnotations()) {
let oAnnots = Asc.editor.getAnnotations();
if(oAnnots) {
aDrawings = Asc.editor.getAnnotations().getInks(this.controller.drawingObjects);
}
else {
aDrawings = [];
}
}
let bDocStartAction = false;
for(let nIdx = aDrawings.length - 1; nIdx > -1; --nIdx) {
let oDrawing = aDrawings[nIdx];
if(oDrawing.isInk()) {
if(oDrawing.hit(x, y)) {
if(Asc.editor.isDrawSlideshowAnnotations()) {
let oAnnots = Asc.editor.getAnnotations();
if(oAnnots) {
oAnnots.eraseInk(oDrawing.parent, nIdx);
}
break;
}
this.controller.resetSelection();
this.controller.selectObject(oDrawing, pageIndex);
if(this.controller.document) {
Expand Down
12 changes: 12 additions & 0 deletions common/Drawings/Format/Shape.js
Original file line number Diff line number Diff line change
Expand Up @@ -7261,6 +7261,17 @@
var memoryData = AscCommon.Base64.decode(szSrc, true, srcLen, offset);
return new AscCommon.FT_Stream2(memoryData, memoryData.length);
}
function CreatePPTYLoader(szSrc, offset, srcLen) {
let stream = CreateBinaryReader(szSrc, offset, srcLen);
let oBinaryReader = new AscCommon.BinaryPPTYLoader();
oBinaryReader.stream = new AscCommon.FileStream();
oBinaryReader.stream.obj = stream.obj;
oBinaryReader.stream.data = stream.data;
oBinaryReader.stream.size = stream.size;
oBinaryReader.stream.pos = stream.pos;
oBinaryReader.stream.cur = stream.cur;
return oBinaryReader;
}

function getParaDrawing(oDrawing) {
var oCurDrawing = oDrawing;
Expand Down Expand Up @@ -7388,6 +7399,7 @@
window['AscFormat'].SetXfrmFromMetrics = SetXfrmFromMetrics;
window['AscFormat'].CShape = CShape;
window['AscFormat'].CreateBinaryReader = CreateBinaryReader;
window['AscFormat'].CreatePPTYLoader = CreatePPTYLoader;
window['AscFormat'].getParaDrawing = getParaDrawing;
window['AscFormat'].ConvertGraphicFrameToWordTable = ConvertGraphicFrameToWordTable;
window['AscFormat'].ConvertTableToGraphicFrame = ConvertTableToGraphicFrame;
Expand Down
14 changes: 10 additions & 4 deletions common/Drawings/States.js
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ StartAddNewShape.prototype =
onMouseUp: function(e, x, y)
{
var bRet = false;
if(this.bStart && this.drawingObjects.canEdit() && this.drawingObjects.arrTrackObjects.length > 0)
if(this.bStart && (this.drawingObjects.canEdit() || Asc.editor.isDrawSlideshowAnnotations()) && this.drawingObjects.arrTrackObjects.length > 0)
{
bRet = true;
var oThis = this;
Expand Down Expand Up @@ -286,8 +286,8 @@ StartAddNewShape.prototype =
return;
}

var callback = function(bLock, isClickMouseEvent){

let callback = function(bLock, isClickMouseEvent)
{
if(bLock)
{
History.Create_NewPoint(AscDFH.historydescription_CommonStatesAddNewShape);
Expand Down Expand Up @@ -374,7 +374,13 @@ StartAddNewShape.prototype =
}
oThis.drawingObjects.updateOverlay();
};
if(Asc.editor && Asc.editor.checkObjectsLock)
if(Asc.editor.isDrawSlideshowAnnotations())
{
AscFormat.ExecuteNoHistory(function () {
callback(true, e.ClickCount);
}, this, []);
}
else if(Asc.editor.checkObjectsLock)
{
Asc.editor.checkObjectsLock([AscCommon.g_oIdCounter.Get_NewId()], callback);
}
Expand Down
Loading

0 comments on commit 8094d04

Please sign in to comment.