Exemple #1
0
        // Token: 0x06006765 RID: 26469 RVA: 0x001CE804 File Offset: 0x001CCA04
        internal void FormatCellBottomless(TableParaClient tableParaClient, uint fswdirTable, out PTS.FSFMTRBL fmtrbl, out IntPtr ppfscell, out int dvrUsed)
        {
            CellParaClient cellParaClient = new CellParaClient(this, tableParaClient);

            cellParaClient.FormatCellBottomless(fswdirTable, cellParaClient.CalculateCellWidth(tableParaClient), out fmtrbl, out dvrUsed);
            ppfscell = cellParaClient.Handle;
        }
Exemple #2
0
        internal void FormatCellFinite(TableParaClient tableParaClient, IntPtr pfsbrkcellIn, IntPtr pfsFtnRejector, int fEmptyOK, uint fswdirTable, int dvrAvailable, out PTS.FSFMTR pfmtr, out IntPtr ppfscell, out IntPtr pfsbrkcellOut, out int dvrUsed)
        {
            CellParaClient cellParaClient = new CellParaClient(this, tableParaClient);
            Size           subpageSize    = new Size(cellParaClient.CalculateCellWidth(tableParaClient), Math.Max(TextDpi.FromTextDpi(dvrAvailable), 0.0));

            cellParaClient.FormatCellFinite(subpageSize, pfsbrkcellIn, PTS.ToBoolean(fEmptyOK), fswdirTable, PTS.FSKSUPPRESSHARDBREAKBEFOREFIRSTPARA.fsksuppresshardbreakbeforefirstparaNone, out pfmtr, out dvrUsed, out pfsbrkcellOut);
            ppfscell = cellParaClient.Handle;
            if (pfmtr.kstop == PTS.FSFMTRKSTOP.fmtrNoProgressOutOfSpace)
            {
                cellParaClient.Dispose();
                ppfscell = IntPtr.Zero;
                dvrUsed  = 0;
            }
            if (dvrAvailable < dvrUsed)
            {
                if (PTS.ToBoolean(fEmptyOK))
                {
                    if (cellParaClient != null)
                    {
                        cellParaClient.Dispose();
                    }
                    if (pfsbrkcellOut != IntPtr.Zero)
                    {
                        PTS.Validate(PTS.FsDestroySubpageBreakRecord(cellParaClient.PtsContext.Context, pfsbrkcellOut), cellParaClient.PtsContext);
                        pfsbrkcellOut = IntPtr.Zero;
                    }
                    ppfscell    = IntPtr.Zero;
                    pfmtr.kstop = PTS.FSFMTRKSTOP.fmtrNoProgressOutOfSpace;
                    dvrUsed     = 0;
                    return;
                }
                pfmtr.fForcedProgress = 1;
            }
        }
Exemple #3
0
        /// <summary>
        /// UpdateBottomlessCell
        /// </summary>
        /// <param name="cellParaClient">Current cell para client</param>
        /// <param name="tableParaClient">Table para cleint</param>
        /// <param name="fswdirTable">Flow direction</param>
        /// <param name="fmtrbl">Formatting result</param>
        /// <param name="dvrUsed">Height consumed</param>
        internal void UpdateBottomlessCell(
            CellParaClient cellParaClient,          // IN:
            TableParaClient tableParaClient,        // IN:
            uint fswdirTable,                       // IN:
            out PTS.FSFMTRBL fmtrbl,                // OUT:
            out int dvrUsed)                        // OUT: height -- min height required
        {
            Debug.Assert(Cell.Index != -1 && Cell.ColumnIndex != -1,
                         "Cell is not in a table");

            Debug.Assert(Cell.Table != null);

            cellParaClient.UpdateBottomlessCell(fswdirTable, cellParaClient.CalculateCellWidth(tableParaClient), out fmtrbl, out dvrUsed);
        }
Exemple #4
0
        /// <summary>
        /// FormatCellBottomless
        /// </summary>
        /// <param name="tableParaClient">Table para client</param>
        /// <param name="fswdirTable">Flow direction</param>
        /// <param name="fmtrbl">Formatting result</param>
        /// <param name="ppfscell">Cell para client</param>
        /// <param name="dvrUsed">Height consumed</param>
        internal void FormatCellBottomless(
            TableParaClient tableParaClient,    // IN:
            uint fswdirTable,                   // IN:
            out PTS.FSFMTRBL fmtrbl,            // OUT:
            out IntPtr ppfscell,                // OUT: cell object
            out int dvrUsed)                    // OUT: height -- min height
                                                //      required
        {
            Debug.Assert(Cell.Index != -1 && Cell.ColumnIndex != -1,
                         "Cell is not in a table");

            Debug.Assert(Cell.Table != null);

            CellParaClient cellParaClient = new CellParaClient(this, tableParaClient);

            cellParaClient.FormatCellBottomless(fswdirTable, cellParaClient.CalculateCellWidth(tableParaClient), out fmtrbl, out dvrUsed);


            //  initialize output parameters
            ppfscell = cellParaClient.Handle;
        }
Exemple #5
0
        internal void FormatCellFinite(
            TableParaClient tableParaClient,        // IN:
            IntPtr pfsbrkcellIn,                    // IN:  not NULL if cell broken from previous page/column
            IntPtr pfsFtnRejector,                  // IN:
            int fEmptyOK,                           // IN:
            uint fswdirTable,                       // IN:
            int dvrAvailable,                       // IN:
            out PTS.FSFMTR pfmtr,                   // OUT:
            out IntPtr ppfscell,                    // OUT: cell object
            out IntPtr pfsbrkcellOut,               // OUT: break if cell does not fit in dvrAvailable
            out int dvrUsed)                        // OUT: height -- min height required

        {
            Debug.Assert(Cell.Index != -1 && Cell.ColumnIndex != -1,
                         "Cell is not in a table");

            CellParaClient cellParaClient;
            Size           subpageSize;

            Debug.Assert(Cell.Table != null);

            cellParaClient = new CellParaClient(this, tableParaClient);

            subpageSize = new Size(
                cellParaClient.CalculateCellWidth(tableParaClient),
                Math.Max(TextDpi.FromTextDpi(dvrAvailable), 0));


            cellParaClient.FormatCellFinite(subpageSize,
                                            pfsbrkcellIn,
                                            PTS.ToBoolean(fEmptyOK),
                                            fswdirTable,
                                            PTS.FSKSUPPRESSHARDBREAKBEFOREFIRSTPARA.fsksuppresshardbreakbeforefirstparaNone,
                                            out pfmtr,
                                            out dvrUsed,
                                            out pfsbrkcellOut);

            //  initialize output parameters
            ppfscell = cellParaClient.Handle;

            if (pfmtr.kstop == PTS.FSFMTRKSTOP.fmtrNoProgressOutOfSpace)
            {
                cellParaClient.Dispose();
                ppfscell = IntPtr.Zero;
                dvrUsed  = 0;
            }

            if (dvrAvailable < dvrUsed)
            {
                if (PTS.ToBoolean(fEmptyOK))
                {
                    if (cellParaClient != null)
                    {
                        cellParaClient.Dispose();
                    }
                    if (pfsbrkcellOut != IntPtr.Zero)
                    {
                        PTS.Validate(PTS.FsDestroySubpageBreakRecord(cellParaClient.PtsContext.Context, pfsbrkcellOut), cellParaClient.PtsContext);
                        pfsbrkcellOut = IntPtr.Zero;
                    }

                    ppfscell    = IntPtr.Zero;
                    pfmtr.kstop = PTS.FSFMTRKSTOP.fmtrNoProgressOutOfSpace;
                    dvrUsed     = 0;
                }
                else
                {
                    pfmtr.fForcedProgress = PTS.True;
                }
            }
        }
Exemple #6
0
        internal void FormatCellFinite( 
            TableParaClient tableParaClient,        // IN:
            IntPtr pfsbrkcellIn,                    // IN:  not NULL if cell broken from previous page/column
            IntPtr pfsFtnRejector,                  // IN:
            int fEmptyOK,                           // IN: 
            uint fswdirTable,                       // IN:
            int dvrAvailable,                       // IN: 
            out PTS.FSFMTR pfmtr,                   // OUT: 
            out IntPtr ppfscell,                    // OUT: cell object
            out IntPtr pfsbrkcellOut,               // OUT: break if cell does not fit in dvrAvailable 
            out int dvrUsed)                        // OUT: height -- min height required

        {
            Debug.Assert(Cell.Index != -1 && Cell.ColumnIndex != -1, 
                "Cell is not in a table");
 
            CellParaClient cellParaClient; 
            Size subpageSize;
 
            Debug.Assert(Cell.Table != null);

            cellParaClient = new CellParaClient(this, tableParaClient);
 
            subpageSize = new Size(
                cellParaClient.CalculateCellWidth(tableParaClient), 
                Math.Max(TextDpi.FromTextDpi(dvrAvailable), 0)); 

 
            cellParaClient.FormatCellFinite(subpageSize,
                                            pfsbrkcellIn,
                                            PTS.ToBoolean(fEmptyOK),
                                            fswdirTable, 
                                            PTS.FSKSUPPRESSHARDBREAKBEFOREFIRSTPARA.fsksuppresshardbreakbeforefirstparaNone,
                                            out pfmtr, 
                                            out dvrUsed, 
                                            out pfsbrkcellOut);
 
            //  initialize output parameters
            ppfscell = cellParaClient.Handle;

            if(pfmtr.kstop == PTS.FSFMTRKSTOP.fmtrNoProgressOutOfSpace) 
            {
                cellParaClient.Dispose(); 
                ppfscell = IntPtr.Zero; 
                dvrUsed = 0;
            } 

            if (dvrAvailable < dvrUsed)
            {
                if (PTS.ToBoolean(fEmptyOK)) 
                {
                    if (cellParaClient != null)     { cellParaClient.Dispose(); } 
                    if (pfsbrkcellOut != IntPtr.Zero) 
                    {
                        PTS.Validate(PTS.FsDestroySubpageBreakRecord(cellParaClient.PtsContext.Context, pfsbrkcellOut), cellParaClient.PtsContext); 
                        pfsbrkcellOut = IntPtr.Zero;
                    }

                    ppfscell = IntPtr.Zero; 
                    pfmtr.kstop = PTS.FSFMTRKSTOP.fmtrNoProgressOutOfSpace;
                    dvrUsed = 0; 
                } 
                else
                { 
                    pfmtr.fForcedProgress = PTS.True;
                }
            }
        } 
Exemple #7
0
        /// <summary> 
        /// UpdateBottomlessCell
        /// </summary>
        /// <param name="cellParaClient">Current cell para client</param>
        /// <param name="tableParaClient">Table para cleint</param> 
        /// <param name="fswdirTable">Flow direction</param>
        /// <param name="fmtrbl">Formatting result</param> 
        /// <param name="dvrUsed">Height consumed</param> 
        internal void UpdateBottomlessCell(
            CellParaClient cellParaClient,          // IN: 
            TableParaClient tableParaClient,        // IN:
            uint fswdirTable,                       // IN:
            out PTS.FSFMTRBL fmtrbl,                // OUT:
            out int dvrUsed)                        // OUT: height -- min height required 
        {
            Debug.Assert(Cell.Index != -1 && Cell.ColumnIndex != -1, 
                "Cell is not in a table"); 

            Debug.Assert(Cell.Table != null); 

            cellParaClient.UpdateBottomlessCell(fswdirTable, cellParaClient.CalculateCellWidth(tableParaClient), out fmtrbl, out dvrUsed);
        }
Exemple #8
0
        /// <summary> 
        /// FormatCellBottomless 
        /// </summary>
        /// <param name="tableParaClient">Table para client</param> 
        /// <param name="fswdirTable">Flow direction</param>
        /// <param name="fmtrbl">Formatting result</param>
        /// <param name="ppfscell">Cell para client</param>
        /// <param name="dvrUsed">Height consumed</param> 
        internal void FormatCellBottomless(
            TableParaClient tableParaClient,    // IN: 
            uint fswdirTable,                   // IN: 
            out PTS.FSFMTRBL fmtrbl,            // OUT:
            out IntPtr ppfscell,                // OUT: cell object 
            out int dvrUsed)                    // OUT: height -- min height
                                                //      required
        {
            Debug.Assert(Cell.Index != -1 && Cell.ColumnIndex != -1, 
                "Cell is not in a table");
 
            Debug.Assert(Cell.Table != null); 

            CellParaClient cellParaClient = new CellParaClient(this, tableParaClient); 

            cellParaClient.FormatCellBottomless(fswdirTable, cellParaClient.CalculateCellWidth(tableParaClient), out fmtrbl, out dvrUsed);

 
            //  initialize output parameters
            ppfscell = cellParaClient.Handle; 
        } 
Exemple #9
0
 // Token: 0x06006766 RID: 26470 RVA: 0x001CE833 File Offset: 0x001CCA33
 internal void UpdateBottomlessCell(CellParaClient cellParaClient, TableParaClient tableParaClient, uint fswdirTable, out PTS.FSFMTRBL fmtrbl, out int dvrUsed)
 {
     cellParaClient.UpdateBottomlessCell(fswdirTable, cellParaClient.CalculateCellWidth(tableParaClient), out fmtrbl, out dvrUsed);
 }