Logo Search packages:      
Sourcecode: inkscape version File versions

void SPObject::updateDisplay ( SPCtx *  ctx,
unsigned int  flags 
) [inherited]

Updates the object's display immediately.

This method is called during the idle loop by SPDocument in order to update the object's display.

One additional flag is legal here:

SP_OBJECT_PARENT_MODIFIED_FLAG - the parent has been modified

Parameters:
ctx an SPCtx which accumulates various state during the recursive update -- beware! some subclasses try to cast this to an SPItemCtx *
flags flags indicating what to update (in addition to any already set flags)

Definition at line 991 of file sp-object.cpp.

{
      g_return_if_fail (!(flags & ~SP_OBJECT_MODIFIED_CASCADE));

      update_in_progress ++;

#ifdef SP_OBJECT_DEBUG_CASCADE
      g_print("Update %s:%s %x %x %x\n", g_type_name_from_instance ((GTypeInstance *) this), SP_OBJECT_ID (this), flags, this->uflags, this->mflags);
#endif

      /* Get this flags */
      flags |= this->uflags;
      /* Copy flags to modified cascade for later processing */
      this->mflags |= this->uflags;
      /* We have to clear flags here to allow rescheduling update */
      this->uflags = 0;

      /* Merge style if we have good reasons to think that parent style is changed */
      /* I am not sure, whether we should check only propagated flag */
      /* We are currently assuming, that style parsing is done immediately */
      /* I think this is correct (Lauris) */
      if ((flags & SP_OBJECT_STYLE_MODIFIED_FLAG) && (flags & SP_OBJECT_PARENT_MODIFIED_FLAG)) {
            if (this->style && this->parent) {
                  sp_style_merge_from_parent (this->style, this->parent->style);
            }
      }

      if (((SPObjectClass *) G_OBJECT_GET_CLASS (this))->update)
            ((SPObjectClass *) G_OBJECT_GET_CLASS (this))->update (this, ctx, flags);

      update_in_progress --;
}


Generated by  Doxygen 1.6.0   Back to index