layout/tables/FixedTableLayoutStrategy.h
author Mozilla Releng Treescript <release+treescript@mozilla.org>
Wed, 06 Jul 2022 18:57:52 +0000
changeset 693069 c46d8ea0da15f36663446b9720351c23323a81f4
parent 505383 6f3709b3878117466168c40affa7bca0b60cf75b
permissions -rw-r--r--
no bug - Bumping Firefox l10n changesets r=release a=l10n-bump de -> 87c83a1187e2727f7d78de6ec0fa6023ccb894a4 el -> ecc5a7b68f559ba508feada0dd7e9402583c21ef en-GB -> 13dde6370c1469398b1d4777c2c3aafbc3d3f985 es-AR -> f47509eb9dd0af132b5c3a5a9d01fa8740f47da0 fy-NL -> 6d47b6e0efe15c2e8a48aeed4d7a66da74d5fd38 gn -> 8f98871656645963a427efede7d78370054777ad ia -> ffe203661e6bee8eea9f7dc4e64a40d0d6a3358f it -> 5dd91f6c9accc3c0e46f604f4d080c187609b5d4 kab -> a4c5b76eb92336bdd6dde5370907c93b83a5a919 ko -> 399f81d34869b0b074387666c8d2c2531a7a5945 nl -> 63b55e993e886c3ce9e3999a07e9b92244655cd7 pt-BR -> 48a7295b10a32499d80ba6c3abbe80aac4633dde sk -> 5c9c7405c3a4aa6462c2b9300c33e3c47fdb2c58 sl -> 2f62f81a7d5e6d63d3a4f4b050730963ea24d99c szl -> edc5808836f41d7f33b13eebf260a1c4a7b01cbf uk -> 4b72cf5897edf520bf0e8d35f18345bcd815b136 vi -> e4be9bcfb6b39e9427fc7ab99c56e62a8ec71a1b zh-CN -> e71c8c57d1623edc0111e597af62fa50fe52dcb2 zh-TW -> 7d133329666c9ebffbd77c10daa64eb0cb5a50d7

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
// vim:cindent:ts=2:et:sw=2:
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/*
 * Algorithms that determine column and table isizes used for CSS2's
 * 'table-layout: fixed'.
 */

#ifndef FixedTableLayoutStrategy_h_
#define FixedTableLayoutStrategy_h_

#include "mozilla/Attributes.h"
#include "nsITableLayoutStrategy.h"

class nsTableFrame;

class FixedTableLayoutStrategy : public nsITableLayoutStrategy {
 public:
  explicit FixedTableLayoutStrategy(nsTableFrame* aTableFrame);
  virtual ~FixedTableLayoutStrategy();

  // nsITableLayoutStrategy implementation
  virtual nscoord GetMinISize(gfxContext* aRenderingContext) override;
  virtual nscoord GetPrefISize(gfxContext* aRenderingContext,
                               bool aComputingSize) override;
  virtual void MarkIntrinsicISizesDirty() override;
  virtual void ComputeColumnISizes(const ReflowInput& aReflowInput) override;

 private:
  nsTableFrame* mTableFrame;
  nscoord mMinISize;
  nscoord mLastCalcISize;
};

#endif /* !defined(FixedTableLayoutStrategy_h_) */