LevelDBSlice IteratorImpl::value() const { ASSERT(isValid()); return makeLevelDBSlice(m_iterator->value()); }
KP_SHARE BOOL PE_SetExpireTime(PW_ENTRY *pEntry, const PW_TIME *pTime) { ASSERT(pEntry != NULL); if(pEntry == NULL) return FALSE; pEntry->tExpire = *pTime; return TRUE; }
KP_SHARE const PW_TIME *PG_GetCreationTime(PW_GROUP *pGroup) { ASSERT(pGroup != NULL); if(pGroup == NULL) return NULL; return &pGroup->tCreation; }
KP_SHARE BOOL PE_SetGroupID(PW_ENTRY *pEntry, DWORD dwGroupID) { ASSERT(pEntry != NULL); if(pEntry == NULL) return FALSE; pEntry->uGroupId = dwGroupID; return TRUE; }
KP_SHARE DWORD PG_GetImageID(PW_GROUP *pGroup) { ASSERT(pGroup != NULL); if(pGroup == NULL) return 0; return pGroup->uGroupId; }
KP_SHARE const PW_TIME *PE_GetExpireTime(PW_ENTRY *pEntry) { ASSERT(pEntry != NULL); if(pEntry == NULL) return NULL; return &pEntry->tExpire; }
KP_SHARE const BYTE *PE_GetBinaryData(PW_ENTRY *pEntry) { ASSERT(pEntry != NULL); if(pEntry == NULL) return NULL; return pEntry->pBinaryData; }
MoveSelectionCommand::MoveSelectionCommand(PassRefPtr<DocumentFragment> fragment, const Position& position, bool smartInsert, bool smartDelete) : CompositeEditCommand(position.anchorNode()->document()), m_fragment(fragment), m_position(position), m_smartInsert(smartInsert), m_smartDelete(smartDelete) { ASSERT(m_fragment); }
KP_SHARE BOOL PG_SetLevel(PW_GROUP *pGroup, USHORT usLevel) { ASSERT(pGroup != NULL); if(pGroup == NULL) return FALSE; pGroup->usLevel = usLevel; return TRUE; }
/** * Resize the given framebuffer's renderbuffers to the new width and height. * This should only be used for window-system framebuffers, not * user-created renderbuffers (i.e. made with GL_EXT_framebuffer_object). * This will typically be called via ctx->Driver.ResizeBuffers() or directly * from a device driver. * * \note it's possible for ctx to be null since a window can be resized * without a currently bound rendering context. */ void _mesa_resize_framebuffer(GLcontext *ctx, struct gl_framebuffer *fb, GLuint width, GLuint height) { GLuint i; /* XXX I think we could check if the size is not changing * and return early. */ /* For window system framebuffers, Name is zero */ assert(fb->Name == 0); for (i = 0; i < BUFFER_COUNT; i++) { struct gl_renderbuffer_attachment *att = &fb->Attachment[i]; if (att->Type == GL_RENDERBUFFER_EXT && att->Renderbuffer) { struct gl_renderbuffer *rb = att->Renderbuffer; /* only resize if size is changing */ if (rb->Width != width || rb->Height != height) { /* could just as well pass rb->_ActualFormat here */ if (rb->AllocStorage(ctx, rb, rb->InternalFormat, width, height)) { ASSERT(rb->Width == width); ASSERT(rb->Height == height); } else { _mesa_error(ctx, GL_OUT_OF_MEMORY, "Resizing framebuffer"); /* no return */ } } } } if (fb->_DepthBuffer) { struct gl_renderbuffer *rb = fb->_DepthBuffer; if (rb->Width != width || rb->Height != height) { if (!rb->AllocStorage(ctx, rb, rb->InternalFormat, width, height)) { _mesa_error(ctx, GL_OUT_OF_MEMORY, "Resizing framebuffer"); } } } if (fb->_StencilBuffer) { struct gl_renderbuffer *rb = fb->_StencilBuffer; if (rb->Width != width || rb->Height != height) { if (!rb->AllocStorage(ctx, rb, rb->InternalFormat, width, height)) { _mesa_error(ctx, GL_OUT_OF_MEMORY, "Resizing framebuffer"); } } } fb->Width = width; fb->Height = height; if (ctx) { /* update scissor / window bounds */ _mesa_update_draw_buffer_bounds(ctx); /* Signal new buffer state so that swrast will update its clipping * info (the CLIP_BIT flag). */ ctx->NewState |= _NEW_BUFFERS; } }
/** * Check if the renderbuffer for a read operation (glReadPixels, glCopyPixels, * glCopyTex[Sub]Image, etc. exists. * \param format a basic image format such as GL_RGB, GL_RGBA, GL_ALPHA, * GL_DEPTH_COMPONENT, etc. or GL_COLOR, GL_DEPTH, GL_STENCIL. * \return GL_TRUE if buffer exists, GL_FALSE otherwise */ GLboolean _mesa_source_buffer_exists(GLcontext *ctx, GLenum format) { const struct gl_renderbuffer_attachment *att = ctx->ReadBuffer->Attachment; if (ctx->ReadBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) { return GL_FALSE; } switch (format) { case GL_COLOR: case GL_RED: case GL_GREEN: case GL_BLUE: case GL_ALPHA: case GL_LUMINANCE: case GL_LUMINANCE_ALPHA: case GL_INTENSITY: case GL_RGB: case GL_BGR: case GL_RGBA: case GL_BGRA: case GL_ABGR_EXT: case GL_COLOR_INDEX: if (ctx->ReadBuffer->_ColorReadBuffer == NULL) { return GL_FALSE; } /* XXX enable this post 6.5 release: ASSERT(ctx->ReadBuffer->_ColorReadBuffer->RedBits > 0 || ctx->ReadBuffer->_ColorReadBuffer->IndexBits > 0); */ break; case GL_DEPTH: case GL_DEPTH_COMPONENT: if (!att[BUFFER_DEPTH].Renderbuffer) { return GL_FALSE; } ASSERT(att[BUFFER_DEPTH].Renderbuffer->DepthBits > 0); break; case GL_STENCIL: case GL_STENCIL_INDEX: if (!att[BUFFER_STENCIL].Renderbuffer) { return GL_FALSE; } ASSERT(att[BUFFER_STENCIL].Renderbuffer->StencilBits > 0); break; case GL_DEPTH_STENCIL_EXT: if (!att[BUFFER_DEPTH].Renderbuffer || !att[BUFFER_STENCIL].Renderbuffer) { return GL_FALSE; } ASSERT(att[BUFFER_DEPTH].Renderbuffer->DepthBits > 0); ASSERT(att[BUFFER_STENCIL].Renderbuffer->StencilBits > 0); break; default: _mesa_problem(ctx, "Unexpected format 0x%x in _mesa_source_buffer_exists", format); return GL_FALSE; } /* OK */ return GL_TRUE; }
CompositingReasons CompositingReasonFinder::directReasons(const RenderLayer* layer, bool* needToRecomputeCompositingRequirements) const { CompositingReasons styleReasons = layer->styleDeterminedCompositingReasons(); ASSERT(styleDeterminedReasons(layer->renderer()) == styleReasons); return styleReasons | nonStyleDeterminedDirectReasons(layer, needToRecomputeCompositingRequirements); }
bool CompositingReasonFinder::requiresCompositingForPositionFixed(RenderObject* renderer, const RenderLayer* layer, RenderLayer::ViewportConstrainedNotCompositedReason* viewportConstrainedNotCompositedReason, bool* needToRecomputeCompositingRequirements) const { if (!(m_compositingTriggers & ViewportConstrainedPositionedTrigger)) return false; if (renderer->style()->position() != FixedPosition) return false; RenderObject* container = renderer->container(); // If the renderer is not hooked up yet then we have to wait until it is. if (!container) { ASSERT(m_renderView.document().lifecycle().state() < DocumentLifecycle::InCompositingUpdate); // FIXME: Remove this and ASSERT(container) once we get rid of the incremental // allocateOrClearCompositedLayerMapping compositing update. This happens when // adding the renderer to the tree because we setStyle before addChild in // createRendererForElementIfNeeded. *needToRecomputeCompositingRequirements = true; return false; } // Don't promote fixed position elements that are descendants of a non-view container, e.g. transformed elements. // They will stay fixed wrt the container rather than the enclosing frame. if (container != &m_renderView) { if (viewportConstrainedNotCompositedReason) *viewportConstrainedNotCompositedReason = RenderLayer::NotCompositedForNonViewContainer; return false; } // If the fixed-position element does not have any scrollable ancestor between it and // its container, then we do not need to spend compositor resources for it. Start by // assuming we can opt-out (i.e. no scrollable ancestor), and refine the answer below. bool hasScrollableAncestor = false; // The FrameView has the scrollbars associated with the top level viewport, so we have to // check the FrameView in addition to the hierarchy of ancestors. FrameView* frameView = m_renderView.frameView(); if (frameView && frameView->isScrollable()) hasScrollableAncestor = true; RenderLayer* ancestor = layer->parent(); while (ancestor && !hasScrollableAncestor) { if (ancestor->scrollsOverflow()) hasScrollableAncestor = true; if (ancestor->renderer() == &m_renderView) break; ancestor = ancestor->parent(); } if (!hasScrollableAncestor) { if (viewportConstrainedNotCompositedReason) *viewportConstrainedNotCompositedReason = RenderLayer::NotCompositedForUnscrollableAncestors; return false; } // Subsequent tests depend on layout. If we can't tell now, just keep things the way they are until layout is done. // FIXME: Get rid of this codepath once we get rid of the incremental compositing update in RenderLayer::styleChanged. if (m_renderView.document().lifecycle().state() < DocumentLifecycle::LayoutClean) { *needToRecomputeCompositingRequirements = true; return layer->hasCompositedLayerMapping(); } bool paintsContent = layer->isVisuallyNonEmpty() || layer->hasVisibleDescendant(); if (!paintsContent) { if (viewportConstrainedNotCompositedReason) *viewportConstrainedNotCompositedReason = RenderLayer::NotCompositedForNoVisibleContent; return false; } // Fixed position elements that are invisible in the current view don't get their own layer. if (FrameView* frameView = m_renderView.frameView()) { ASSERT(m_renderView.document().lifecycle().state() == DocumentLifecycle::InCompositingUpdate); LayoutRect viewBounds = frameView->viewportConstrainedVisibleContentRect(); LayoutRect layerBounds = layer->boundingBoxForCompositing(layer->compositor()->rootRenderLayer(), RenderLayer::ApplyBoundsChickenEggHacks); if (!viewBounds.intersects(enclosingIntRect(layerBounds))) { if (viewportConstrainedNotCompositedReason) *viewportConstrainedNotCompositedReason = RenderLayer::NotCompositedForBoundsOutOfView; return false; } } return true; }
void CIconStatic::SetIcon(LPCTSTR pszIconID) { m_strIconID = pszIconID; // If this function is called for the first time and we did not yet call 'SetWindowText', we take // the window label which is already specified for the window (the label which comes from the resource) CString strText; CStatic::GetWindowText(strText); CStatic::SetWindowText(_T("")); if (!strText.IsEmpty() && m_strText.IsEmpty()) m_strText = strText; CRect rRect; GetClientRect(rRect); CDC *pDC = GetDC(); CDC MemDC; CBitmap *pOldBMP; VERIFY( MemDC.CreateCompatibleDC(pDC) ); CFont *pOldFont = MemDC.SelectObject(GetFont()); CRect rCaption(0,0,0,0); MemDC.DrawText(m_strText, rCaption, DT_CALCRECT); ASSERT( rCaption.Width() >= 0 ); ASSERT( rCaption.Height() >= 0 ); if (rCaption.Height() < 16) rCaption.bottom = rCaption.top + 16; rCaption.right += 25; if (rRect.Width() >= 16 && rCaption.Width() > rRect.Width() - 16) rCaption.right = rCaption.left + rRect.Width() - 16; if (m_MemBMP.m_hObject) VERIFY( m_MemBMP.DeleteObject() ); VERIFY( m_MemBMP.CreateCompatibleBitmap(pDC, rCaption.Width(), rCaption.Height()) ); pOldBMP = MemDC.SelectObject(&m_MemBMP); // Get the background color from the parent window. This way the controls which are // embedded in a dialog window can get painted with the same background color as // the dialog window. HBRUSH hbr = (HBRUSH)GetParent()->SendMessage(WM_CTLCOLORSTATIC, (WPARAM)MemDC.m_hDC, (LPARAM)m_hWnd); FillRect(MemDC, &rCaption, hbr); if (!m_strIconID.IsEmpty()) VERIFY( DrawState( MemDC.m_hDC, NULL, NULL, (LPARAM)(HICON)CTempIconLoader(m_strIconID, 16, 16), NULL, 3, 0, 16, 16, DST_ICON | DSS_NORMAL) ); // clear all alpha channel data BITMAP bmMem; if (m_MemBMP.GetObject(sizeof bmMem, &bmMem) >= sizeof bmMem && bmMem.bmBitsPixel == 32) { DWORD dwSize = m_MemBMP.GetBitmapBits(0, NULL); if (dwSize) { LPBYTE pPixels = (LPBYTE)malloc(dwSize); if (pPixels) { if (m_MemBMP.GetBitmapBits(dwSize, pPixels) == dwSize) { LPBYTE pLine = pPixels; int iLines = bmMem.bmHeight; while (iLines-- > 0) { LPDWORD pdwPixel = (LPDWORD)pLine; for (int x = 0; x < bmMem.bmWidth; x++) *pdwPixel++ &= 0x00FFFFFF; pLine += bmMem.bmWidthBytes; } m_MemBMP.SetBitmapBits(dwSize, pPixels); } free(pPixels); } } } rCaption.left += 22; if(g_xpStyle.IsThemeActive() && g_xpStyle.IsAppThemed()) { HTHEME hTheme = g_xpStyle.OpenThemeData(NULL, L"BUTTON"); g_xpStyle.DrawThemeText(hTheme, MemDC.m_hDC, BP_GROUPBOX, GBS_NORMAL, m_strText, m_strText.GetLength(), DT_WORDBREAK | DT_CENTER | DT_WORD_ELLIPSIS, NULL, &rCaption); g_xpStyle.CloseThemeData(hTheme); } else { MemDC.SetTextColor(GetSysColor(COLOR_WINDOWTEXT)); MemDC.DrawText(m_strText, rCaption, DT_SINGLELINE | DT_LEFT | DT_END_ELLIPSIS); } ReleaseDC(pDC); MemDC.SelectObject(pOldBMP); MemDC.SelectObject(pOldFont); if (m_wndPicture.m_hWnd == NULL) m_wndPicture.Create(NULL, WS_CHILD | WS_VISIBLE | SS_BITMAP, CRect(0,0,0,0), this); m_wndPicture.SetWindowPos(NULL, rRect.left+8, rRect.top, rCaption.Width()+22, rCaption.Height(), SWP_SHOWWINDOW); m_wndPicture.SetBitmap(m_MemBMP); CRect r; GetWindowRect(r); r.bottom = r.top + 20; GetParent()->ScreenToClient(&r); GetParent()->RedrawWindow(r); }
KP_SHARE const PW_TIME *PE_GetCreationTime(PW_ENTRY *pEntry) { ASSERT(pEntry != NULL); if(pEntry == NULL) return NULL; return &pEntry->tCreation; }
KP_SHARE const BYTE *PE_GetUUID(PW_ENTRY *pEntry) { ASSERT(pEntry != NULL); if(pEntry == NULL) return FALSE; return pEntry->uuid; }
KP_SHARE const PW_TIME *PE_GetLastAccessTime(PW_ENTRY *pEntry) { ASSERT(pEntry != NULL); if(pEntry == NULL) return NULL; return &pEntry->tLastAccess; }
KP_SHARE DWORD PE_GetGroupID(PW_ENTRY *pEntry) { ASSERT(pEntry != NULL); if(pEntry == NULL) return 0; return pEntry->uGroupId; }
KP_SHARE LPCTSTR PE_GetBinaryDesc(PW_ENTRY *pEntry) { ASSERT(pEntry != NULL); if(pEntry == NULL) return NULL; return pEntry->pszBinaryDesc; }
KP_SHARE DWORD PE_GetImageID(PW_ENTRY *pEntry) { ASSERT(pEntry != NULL); if(pEntry == NULL) return 0; return pEntry->uImageId; }
KP_SHARE DWORD PE_GetBinaryDataLength(PW_ENTRY *pEntry) { ASSERT(pEntry != NULL); if(pEntry == NULL) return 0; return pEntry->uBinaryDataLen; }
KP_SHARE LPCTSTR PE_GetTitle(PW_ENTRY *pEntry) { ASSERT(pEntry != NULL); if(pEntry == NULL) return NULL; return pEntry->pszTitle; }
KP_SHARE BOOL PE_SetImageID(PW_ENTRY *pEntry, DWORD dwImageID) { ASSERT(pEntry != NULL); if(pEntry == NULL) return FALSE; pEntry->uImageId = dwImageID; return TRUE; }
KP_SHARE LPCTSTR PE_GetUserName(PW_ENTRY *pEntry) { ASSERT(pEntry != NULL); if(pEntry == NULL) return NULL; return pEntry->pszUserName; }
KP_SHARE BOOL PE_SetLastAccessTime(PW_ENTRY *pEntry, const PW_TIME *pTime) { ASSERT(pEntry != NULL); if(pEntry == NULL) return FALSE; pEntry->tLastAccess = *pTime; return TRUE; }
KP_SHARE LPCTSTR PE_GetPasswordPtr(PW_ENTRY *pEntry) { ASSERT(pEntry != NULL); if(pEntry == NULL) return NULL; return pEntry->pszPassword; }
KP_SHARE LPCTSTR PG_GetName(PW_GROUP *pGroup) { ASSERT(pGroup != NULL); if(pGroup == NULL) return NULL; return pGroup->pszGroupName; }
KP_SHARE LPCTSTR PE_GetNotes(PW_ENTRY *pEntry) { ASSERT(pEntry != NULL); if(pEntry == NULL) return NULL; return pEntry->pszAdditional; }
KP_SHARE const PW_TIME *PG_GetLastModTime(PW_GROUP *pGroup) { ASSERT(pGroup != NULL); if(pGroup == NULL) return NULL; return &pGroup->tLastMod; }
void IteratorImpl::prev() { ASSERT(isValid()); m_iterator->Prev(); checkStatus(); }